├── README.md └── code ├── JavaBasic ├── JavaString │ ├── .idea │ │ ├── .gitignore │ │ ├── description.html │ │ ├── encodings.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── project-template.xml │ │ └── vcs.xml │ ├── JavaString.iml │ ├── out │ │ └── production │ │ │ └── JavaString │ │ │ └── com │ │ │ └── company │ │ │ └── Main.class │ └── src │ │ └── com │ │ └── company │ │ └── Main.java ├── Java_final │ ├── .idea │ │ ├── .gitignore │ │ ├── description.html │ │ ├── encodings.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── project-template.xml │ │ └── vcs.xml │ ├── Java_final.iml │ ├── out │ │ └── production │ │ │ └── Java_final │ │ │ └── com │ │ │ └── company │ │ │ ├── Finally.class │ │ │ ├── Main.class │ │ │ ├── TestClass.class │ │ │ ├── style$ParentClass.class │ │ │ ├── style$childClass.class │ │ │ └── style.class │ └── src │ │ └── com │ │ └── company │ │ ├── Finally.java │ │ ├── Main.java │ │ ├── TestClass.java │ │ └── style.java └── Java_generics │ ├── .idea │ ├── description.html │ ├── encodings.xml │ ├── misc.xml │ ├── modules.xml │ ├── project-template.xml │ └── workspace.xml │ ├── Java_generics.iml │ ├── out │ └── production │ │ └── Java_generics │ │ └── com │ │ └── company │ │ ├── Java1.class │ │ └── Java2.class │ └── src │ └── com │ └── company │ ├── Java1.java │ ├── Java2.java │ └── Java3.java └── JavaTheead ├── ThreadClass ├── .idea │ ├── .gitignore │ ├── description.html │ ├── encodings.xml │ ├── misc.xml │ ├── modules.xml │ ├── project-template.xml │ └── vcs.xml ├── ThreadClass.iml ├── out │ └── production │ │ └── ThreadClass │ │ └── com │ │ └── company │ │ ├── ThreadSleep.class │ │ ├── ThreadWait$1.class │ │ ├── ThreadWait$2.class │ │ └── ThreadWait.class └── src │ └── com │ └── company │ ├── ThreadSleep.java │ └── ThreadWait.java └── ThreadSynchron ├── .idea ├── .gitignore ├── description.html ├── encodings.xml ├── misc.xml ├── modules.xml ├── project-template.xml ├── uiDesigner.xml └── vcs.xml ├── ThreadSynchron.iml ├── out └── production │ └── ThreadSynchron │ └── com │ └── company │ └── ThreadSyn.class └── src └── com └── company └── ThreadSyn.java /README.md: -------------------------------------------------------------------------------- 1 | 如果 Github 访问速度比较慢或者图片无法刷新出来的话,可以转移到[码云](https://gitee.com/dot_happydz_admin/JavaDevGuide )查看,或者[微信搜索:程序员漫话编程,关注后阅读]。 2 | 3 | 在[公众号](#公众号)后台回复“学习资料”即可获取学习干货。 4 | 5 | 我组建了一个开源项目答疑群,如要进群或者请教问题,请联系我(微信:mmlz6879) (备注来自Github。请直入问题,工作时间不回复)。 6 | 7 | > 另外,希望大家对面试不要抱有侥幸的心理,还需要好好准备! 我希望这个份资料是为你学习 Java 指明方向和方法,而不是用来应付的。加油! 8 | 9 | **阅读之前必看** : 10 | 11 | 1. [搞定Java初级面试题,147道Java面试题](https://mp.weixin.qq.com/s/bvhVOFJ3SPiTlfDatueAjw) 12 | 13 | 14 | ## 目录 15 | 16 | - [电子书](#电子书) 17 | - [面试](#面试) 18 | - [算法](#算法) 19 | - [核心基础](#核心基础) 20 | - [面试指南](#面试指南) 21 | - [Java学习常见问题汇总](#java学习常见问题汇总) 22 | - [资源](#资源) 23 | - [实战项目推荐](#实战项目推荐) 24 | - [我的开源项目](#我的开源项目) 25 | - [Java](#java) 26 | - [Java干货](#Java干货) 27 | - [3T免费视频资源](#3T免费视频资源) 28 | - [系列教程](#系列教程) 29 | - [待办](#待办) 30 | - [说明](#说明) 31 | 32 | 33 | ### 面试指南 34 | * [搞定Java初级面试题,147道Java面试题](https://mp.weixin.qq.com/s/bvhVOFJ3SPiTlfDatueAjw) 35 | 36 | 37 | ## 电子书 38 | 39 | ### 面试 40 | 41 | 剑指offer * [百度云下载连接](https://pan.baidu.com/s/1ozA45E5zxHYOlFcM3xcPSg) 提取码:ul2g 42 | 43 | ### 算法 44 | 45 | 数据结构与算法 * [百度云下载连接](https://pan.baidu.com/s/1Dt_AxI_LYA4Ajlm3Qef6sg) 提取码:iqw7 46 | 47 | ### 核心基础 48 | 49 | Head First Java 中文高清版 * [百度云下载连接](https://pan.baidu.com/s/1xisTedd8E2L4U6I_SKcUMw) 提取码:8mxt 50 | Java编程思想 中文高清版 * [百度云下载连接](https://pan.baidu.com/s/1Wp1bFmnwlvkHR_MbMMWWng) 提取码:g0mk 51 | 52 | ### java学习常见问题汇总 53 | 54 | 55 | ## 资源 56 | 57 | ### 实战项目推荐 58 | - 商品供销系统 [百度云下载链接](https://pan.baidu.com/s/14AIEXhLpZVBFwOJ3Mt2izA) 密码:9buz 59 | - 用户管理系统 [百度云下载链接](https://pan.baidu.com/s/18Y2nPzck91nhXbfyRq4EIw) 密码:wxbc 60 | - SSM淘宝商城12天电商项目 [百度云下载链接](https://pan.baidu.com/s/13NImQSEGft3iTAaUU4oaxg) 密码:cncv 61 | - SSM高级整合视频 [百度云下载链接](https://pan.baidu.com/s/1FrCZivDR_r2N96IFhAY7dQ) 密码:9djy 62 | - 高仿豆瓣项目源码 [百度云下载链接](https://pan.baidu.com/s/1AMhe-3iFPCcZ-R65geKIBg) 密码:3lmv 63 | - 目新巴巴运动网(spring+springmvc+mybatis) [百度云下载链接](https://pan.baidu.com/s/1d882LM8pvxWYfHNQfwEXnA) 密码:3c2h 64 | - SSM2018年3月品优购电商系统开发 [百度云下载链接](https://pan.baidu.com/s/1_PEmkW5wGtF2Xnbmz88O2Q) 密码:hkpz 65 | - SSM宜立方商城(80-93天) [百度云下载链接](https://pan.baidu.com/s/1wAR9sDaTXkydhcdCN4_NjA) 密码:f1yq 66 | - 超级玛丽-源码 [百度云下载链接](https://pan.baidu.com/s/1jAaZoT601r4y-0QU6rahxQ) 密码:7skk 67 | - 成绩管理系统-源码 [百度云下载链接](https://pan.baidu.com/s/1iE6-JBItRCMnfrifVUc-8A) 密码:ua5f 68 | - 支付宝项目-源码 [百度云下载链接](https://pan.baidu.com/s/1hbz3tvtyalTYHIkGvYbw4g) 密码:oqiy 69 | - 个人管理系统-源码 [百度云下载链接](https://pan.baidu.com/s/13GG5tZNkL0tAV6PHtB48GQ) 密码:1cwb 70 | 71 | #### SpringCloud 72 | - 最新springboot-cloud微服务架构阶段 [百度云下载链接](https://pan.baidu.com/s/1cNpUozDCSYMG-cS-IHXnmQ) 密码:jedq 73 | 74 | 75 | ### 我的开源项目 76 | 77 | * [一点知识学院(开源项目)](https://mp.weixin.qq.com/s/kVXQ7zp4QpGytiQjdo_7Pw) 78 | * [Eclipse项目如何导入IDEA中正常启动(案例:一点知识学院)](https://mp.weixin.qq.com/s/GgXwF2RVo5u6V6QX2Wyk6Q) 79 | 80 | ## Java 81 | 82 | ### Java干货 83 | 84 | 1. *[最新Java核心技术教程](https://mp.weixin.qq.com/s/aCC9Z2ijPJESWx5hFJ-HJQ)* 85 | 86 | ### 3T免费视频资源 87 | 88 | 1. *[Java实战项目,附带源码+视频教程。【资源】](https://mp.weixin.qq.com/s/t8II1rOPCWjTh-UidogCjA)* 89 | 2. *[第二期学习资源(前端)【资源】](https://mp.weixin.qq.com/s/adna4mrYAW_HYulFZwXNkQ)* 90 | 3. *[第一期学习资源(JAVA)【资源】](https://mp.weixin.qq.com/s/pdbdaJfxDcrx6M-vkGfypQ)* 91 | 92 | ### 系列教程 93 | 94 | * [1,Spring Boot系列] 95 | * [2,Spring Boot + Vue 前后端分离] 96 | * [3,我的开源项目] 97 | * [4,Git系列] 98 | * [5,微信小程序系列] 99 | * [6,Flutter入门到项目开发] 100 | * [7,副业赚钱系列] 101 | * [8,职场进阶系列] 102 | * [9,项目管理 及其 敏捷开发流程 系列] 103 | 104 | 105 | **Spring Boot系列** 106 | 107 | 108 | * [Spring Boot (一)初识Spring Boot框架](https://mp.weixin.qq.com/s/o4fk0cp3lF9207UMcjgwSw) 109 | * [Spring Boot (二)Spring Boot基本配置](https://mp.weixin.qq.com/s/g68CuNcGk30ZGji2PjcoLQ) 110 | * [Spring Boot (三)自动配置原理](https://mp.weixin.qq.com/s/a0AxB7JgK-RKuYzcs2Yq1Q) 111 | * [Spring Boot (四)web项目开发](https://mp.weixin.qq.com/s/t2AUyaQE0tYgjkxPvmmbPg) 112 | * [Spring Boot (五)web开发相关配置](https://mp.weixin.qq.com/s/00Y6ocws24PdAEHX0PcBTg) 113 | * [Spring Boot (六)web项目开发中的SSL配置](https://mp.weixin.qq.com/s/UIRbDsyuJxcbWU-gCznNKA) 114 | * [Spring Boot (七)Spring Boot WebSocket开发](https://mp.weixin.qq.com/s/svNvGM9mF68wlGhDWoYokQ) 115 | * [Spring Boot (八)Spring Boot实现聊天功能](https://mp.weixin.qq.com/s/9o1ddajlNEAXY2rMJun73Q) 116 | * [Spring Boot (九)Spring Boot 中使用Bootstrap和AngularJS](https://mp.weixin.qq.com/s/BEkhXF4X4_suKsODgwP7tA) 117 | * [Spring Boot (十)Spring Boot中使用JPA](https://mp.weixin.qq.com/s/5PWWqEoLqEAZ-YblKQ0ZJw) 118 | * [Spring Boot(十一)Spring Boot中使用REST资源输出](https://mp.weixin.qq.com/s/kOk4QVGRB98boBkRpmZhiQ) 119 | * [Spring Boot(十二)Spring Boot 中数据库事务的使用](https://mp.weixin.qq.com/s/R0MKSSAUOr0hcvYdfWvNbA) 120 | * [Spring Boot 启动原理解析](https://mp.weixin.qq.com/s/2KQlnLk3RreAmk2YiKbGng) 121 | * [这些Spring Boot注解你都了解吗?](https://mp.weixin.qq.com/s/uxzR3bkvAnTzt-sSyf1LtQ) 122 | * [Spring Boot(十三)Spring Boot中数据缓存的使用](https://mp.weixin.qq.com/s/tUaMQJoEnGW_OqcJvc8V6A) 123 | * [Spring Boot(十四)使用Security实现权限控制](https://mp.weixin.qq.com/s/36gKcEseeXD-rZPJJUZ5Sw) 124 | 125 | 126 | **Spring Boot + Vue 前后端分离** 127 | 128 | * [Spring Boot + Vue前后端分离(一)前端Vue环境搭建](https://mp.weixin.qq.com/s/xgYwKS_ASDZpnr7LOeOyIQ) 129 | * [Spring Boot + Vue前后端分离(二)前端Vue启动流程](https://mp.weixin.qq.com/s/cK-vsutSJ_hE2dRe7qdSwA) 130 | * [Spring Boot + Vue前后端分离(三)实现登录功能](https://mp.weixin.qq.com/s/gy6mxTgySb-G4H6cMlrIgQ) 131 | * [Spring Boot + Vue前后端分离(四)前端路由](https://mp.weixin.qq.com/s/vRpMabEM1axqB_CpEYvd5w) 132 | * [Spring Boot + Vue前后端分离(五)登录拦截器](https://mp.weixin.qq.com/s/rysn5d8g7d-alDgTMG3i6g) 133 | * [Spring Boot + Vue前后端分离(六)使用Element渲染登录界面](https://mp.weixin.qq.com/s/QTY4dGm3dZINSzgLXdbElQ) 134 | * [Spring Boot + Vue前后端分离(七)后端系统,功能导航页](https://mp.weixin.qq.com/s/xb3wKPEtQSOOsMU5Fo_u6w) 135 | * [Spring Boot + Vue前后端分离(八)权限数据库设计](https://mp.weixin.qq.com/s/anyTXnMp-9PswnIkZ9XNpQ) 136 | * [Spring Boot + Vue前后端分离(九)使用Shiro实现用户信息加密](https://mp.weixin.qq.com/s/HrUn5TUy25-_tYIk6ytLkQ) 137 | * [Spring Boot+ Vue前后端分离(十)使用Shiro实现登录认证](https://mp.weixin.qq.com/s/8PDhivGubGMMcex8KF22Lg) 138 | 139 | 140 | **我的开源项目** 141 | 142 | * [一点知识学院(开源项目)](https://mp.weixin.qq.com/s/kVXQ7zp4QpGytiQjdo_7Pw) 143 | 144 | * [Eclipse项目如何导入IDEA中正常启动(案例:一点知识学院)](https://mp.weixin.qq.com/s/GgXwF2RVo5u6V6QX2Wyk6Q) 145 | 146 | 147 | **Git系列** 148 | 149 | * [Git(一)Git介绍和安装](https://mp.weixin.qq.com/s/PfwznusZHH5JOrkuYQbcvQ) 150 | * [Git(二)Gitlab账号和Github账号同时使用](https://mp.weixin.qq.com/s/DCLBpkMeIqKB7D87xs9tXg) 151 | * [Git(三)Git图形化管理工具SourceTree全部实用操作](https://mp.weixin.qq.com/s/o-hPLM421rVp7BptZunOtA) 152 | * [Git(四)Git冲突处理](https://mp.weixin.qq.com/s/4h1a09hp33J_SCsoVc60og) 153 | * [Git(五)Git分支管理](https://mp.weixin.qq.com/s/JBrW8106WTNSmQWFOJk5HA) 154 | * [Git(六)Git标签管理](https://mp.weixin.qq.com/s/-bErMhE3KKMuF_hfFJTZCw) 155 | * [这些Git 命令 100% 工作中在用](https://mp.weixin.qq.com/s/soWfeQhNv8cJihQBnyTHUg) 156 | 157 | 158 | **微信小程序系列** 159 | 160 | * [小程序(一)了解小程序](https://mp.weixin.qq.com/s/m4yAbqrJcoC7jdoUd_fqug) 161 | * [小程序(二)小程序appID获取和项目目录结构](https://mp.weixin.qq.com/s/2J_yE9ypt7N_3_uQf6OteA) 162 | * [小程序(三)小程序生命周期](https://mp.weixin.qq.com/s/pQr2OoBu4IYBJvzj7yFxxQ) 163 | * [小程序(四)开发调试方式和真机调试](https://mp.weixin.qq.com/s/Vdmt-9K62NpXB2lzu7OUSw) 164 | * [小程序(五)小程序第一个项目](https://mp.weixin.qq.com/s/TXjtWzJF7P9egR8_Tv3c4w) 165 | * [小程序(六)选项卡切换和数据绑定,数据存储](https://mp.weixin.qq.com/s/7ycJ3GM4_6C0yJUedvE9fw) 166 | * [小程序(七)网络通讯和数据解析](https://mp.weixin.qq.com/s/svX_WwbPMAP17iOnj87IQg) 167 | * [小程序(八)列表展示,数据传递和页面跳转](https://mp.weixin.qq.com/s/OV50eyUgq2q8yOscsqLKbw) 168 | * [小程序(九)顶部轮播图和底部TabBar的样式和操作](https://mp.weixin.qq.com/s/DtNsMelObEvBjZr4YsxBhQ) 169 | * [小程序(十) 小程序中列表数据 加载更多 的组件公用](https://mp.weixin.qq.com/s/v8gJEMnm_eHd4BcbFUuVoA) 170 | 171 | 172 | **Flutter入门到项目开发** 173 | 174 | * [flutter(一)介绍和环境搭建](https://mp.weixin.qq.com/s/SAFxgDankrga2SeQGP2MZQ) 175 | * [flutter(二)开发工具的介绍和安装,运行项目](https://mp.weixin.qq.com/s/ciXlrkJTcwtvJ39sMrstbg) 176 | * [flutter(三)flutter组件介绍和资源加载](https://mp.weixin.qq.com/s/rVipOqfF49GqRDHeJT3TOg) 177 | * [flutter(四)底部tabbar切换,顶部切换,页面跳转](https://mp.weixin.qq.com/s/QHWA4s1FMsQwXjXLMM21nA) 178 | * [flutter(五)组件的使用,登录界](https://mp.weixin.qq.com/s/RWs8gAd2tIOrGo4OinesCA) 179 | * [flutter(六)网络通讯和网络封装](https://mp.weixin.qq.com/s/rvJOHqXAQzS6zevZSU8k-g) 180 | * [flutter(七)入口程序解读和模板添加](https://mp.weixin.qq.com/s/yOxIfO3l8Daq4aKhsty7oQ) 181 | 182 | 183 | **副业赚钱系列** 184 | 185 | * [没有资源没有运营能力,我还是开启了副业之路](https://mp.weixin.qq.com/s/8b7b5sD_u1zXxFLhdsOAeQ) 186 | 187 | 188 | **职场进阶系列** 189 | 190 | * [怎样才能成为自由者?](https://mp.weixin.qq.com/s/AqqX9jWv_TVol1nljEdRWw) 191 | * [职场我们如何寻找自己的定位?](https://mp.weixin.qq.com/s/DG4wQI7Cg4TGdh1J4cK8fA) 192 | * [如何做好年度计划?](https://mp.weixin.qq.com/s/vlfqgMhdqk_jyd8aazmsJw) 193 | * [频繁跳槽会有什么不好的影响?](https://mp.weixin.qq.com/s/2m02qzOhnlPBjDrxDlG5kw) 194 | 195 | **项目管理 及其 敏捷开发流程 系列** 196 | 197 | * [Scrum敏捷流程-每日会议](https://mp.weixin.qq.com/s/R14sAPNMvTy2rdh5qDxb7w) 198 | * [主动承担和被动承担差别有多大](https://mp.weixin.qq.com/s/OPVILLH9yKgkMdifcYGBAg) 199 | * [IT项目开发流程](https://mp.weixin.qq.com/s/u7ahh39_gowDMKV7TKUbvw) 200 | * [如何快速有效的学习一门技能](https://mp.weixin.qq.com/s/aW2JLMjKkli2qENkd4_skA) 201 | * [项目中怎么使用敏捷开发流程](https://mp.weixin.qq.com/s/y1tzP4m4PI28-C_Hw4YXmQ) 202 | 203 | ### 待办 204 | 205 | 206 | ### 说明 207 | 208 | 209 | 210 | ### 关于转载 211 | 212 | 如果你需要转载本仓库的一些文章到自己的博客的话,记得注明原文地址就可以了。(如果需要公众号转发,联系我哦) 213 | 214 | ### 联系我 215 | 216 | ![个人微信](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6941970c818d4d4a9737a36bca26a9e8~tplv-k3u1fbpfcp-zoom-1.image) 217 | 218 | 219 | ### 公众号 220 | 221 | 如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。 222 | 223 | **有关学习视频和面试资料,[公众号](#公众号:程序员漫话编程)后台回复 **"学习资料"** 即可免费领取! 224 | 225 | ![我的公众号](https://img-blog.csdnimg.cn/20201009212156961.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYW5wZW5neHVleGlrYWlmYQ==,size_16,color_FFFFFF,t_70) 226 | 227 | -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/.idea/description.html: -------------------------------------------------------------------------------- 1 | Simple Java application that includes a class with main() method -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/.idea/project-template.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/JavaString.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/out/production/JavaString/com/company/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaBasic/JavaString/out/production/JavaString/com/company/Main.class -------------------------------------------------------------------------------- /code/JavaBasic/JavaString/src/com/company/Main.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | import java.util.Date; 4 | 5 | public class Main { 6 | 7 | public static void main(String[] args) { 8 | long a=new Date().getTime(); 9 | String cc=""; 10 | int n=10000; 11 | for (int i = 0; i < n; i++) { 12 | cc+="."+i; 13 | } 14 | System.out.println("String的时间"+(System.currentTimeMillis()-a)/1000.0+"s"); 15 | long s1=System.currentTimeMillis(); 16 | StringBuilder sb=new StringBuilder(); 17 | for (int i = 0; i < n; i++) { 18 | sb.append("."+i); 19 | } 20 | System.out.println("StringBuilder的时间"+(System.currentTimeMillis()-s1)/1000.0+"s"); 21 | long s2=System.currentTimeMillis(); 22 | StringBuffer sbf=new StringBuffer(); 23 | for (int i = 0; i < n; i++) { 24 | sbf.append("."+i); 25 | } 26 | System.out.println("StringBuffer的时间"+(System.currentTimeMillis()-s2)/1000.0+"s"); 27 | 28 | 29 | 30 | 31 | //创建StringBuffer对象 32 | StringBuffer sb2 = new StringBuffer(); 33 | //因为append()返回缓冲区本身 34 | sb2.append("程序职场").append(false); //链式编程 35 | //sb.reverse(); 36 | //String s = new String(sb);//反转并转成String类型,不简洁 37 | //反转并转成String类型 38 | System.out.println(sb2.reverse().toString()); 39 | 40 | StringBuilder sb3 = new StringBuilder(); 41 | sb3.append("公众号:程序职场"); 42 | // sb3.setLength(1);//缓冲区设置为1 43 | System.out.println(sb2.reverse().toString()); 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/.idea/description.html: -------------------------------------------------------------------------------- 1 | Simple Java application that includes a class with main() method -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/.idea/project-template.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/Java_final.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/out/production/Java_final/com/company/Finally.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaBasic/Java_final/out/production/Java_final/com/company/Finally.class -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/out/production/Java_final/com/company/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaBasic/Java_final/out/production/Java_final/com/company/Main.class -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/out/production/Java_final/com/company/TestClass.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaBasic/Java_final/out/production/Java_final/com/company/TestClass.class -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/out/production/Java_final/com/company/style$ParentClass.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaBasic/Java_final/out/production/Java_final/com/company/style$ParentClass.class -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/out/production/Java_final/com/company/style$childClass.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaBasic/Java_final/out/production/Java_final/com/company/style$childClass.class -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/out/production/Java_final/com/company/style.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaBasic/Java_final/out/production/Java_final/com/company/style.class -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/src/com/company/Finally.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | public class Finally { 4 | public static void main(String[] args) { 5 | // try{ 6 | // throw new NullPointerException(); 7 | // }catch(NullPointerException e){ 8 | // System.out.println("程序抛出了异常"); 9 | // }finally{ 10 | // //这里总会被执行,线程,数据库,数据流,文件流等结束处理一般写在这里,可以降低程序的出错几率 11 | // System.out.println("执行了finally语句块"); 12 | // } 13 | 14 | 15 | try { 16 | System.out.println("return 程序职场"); 17 | return; 18 | } catch (Exception e) { 19 | e.printStackTrace(); 20 | } finally { 21 | System.out.println("return 是否 执行了finally语句"); 22 | } 23 | 24 | 25 | try { 26 | System.out.println("System.exit 程序职场"); 27 | System.exit(0); 28 | } catch (Exception e) { 29 | e.printStackTrace(); 30 | } finally { 31 | System.out.println("System.exit情况下 是否 执行了finally语句"); 32 | } 33 | 34 | 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/src/com/company/Main.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | public class Main { 4 | public final String nameA = "程序职场"; //在定义时初始化 5 | public final String nameB;{nameB="程序职场";} //在初始化块中初始化 6 | public static final String nameC = "程序职场";//静态常量,在定义时初始化 7 | public static final String nameD;static{nameD = "程序职场";}//静态常量,在静态初始化块中初始化 8 | public final String nameE;//静态变量不能在初始化块中初始化,在函数中初始化 9 | public Main() { 10 | nameE = "程序职场"; 11 | } 12 | 13 | public static void main(String[] args) { 14 | // write your code here 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/src/com/company/TestClass.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | public final class TestClass { 4 | String nameA = "程序职场"; 5 | final String nameB = "公众号"; 6 | public static void main(String[] args){ 7 | TestClass ft = new TestClass(); 8 | ft.nameA = "公众号:程序职场"; /*final类TestClass的属性值 i是可以改变的,因为属性值i前面没final修饰*/ 9 | System.out.println(ft.nameA); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_final/src/com/company/style.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | public class style { 4 | public class ParentClass{ 5 | public final void TestFinal(){ 6 | System.out.println("父类--这是一个final方法---程序职场"); 7 | } 8 | } 9 | public class childClass extends ParentClass{ 10 | public void main(String[]args){ 11 | childClass sc = new childClass(); 12 | sc.TestFinal(); 13 | } 14 | } 15 | 16 | public static void main(String[] args) { 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/.idea/description.html: -------------------------------------------------------------------------------- 1 | Simple Java application that includes a class with main() method -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/.idea/project-template.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 34 | 35 | 36 | 37 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 1594530894723 58 | 63 | 64 | 65 | 66 | 68 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/Java_generics.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/out/production/Java_generics/com/company/Java1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaBasic/Java_generics/out/production/Java_generics/com/company/Java1.class -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/out/production/Java_generics/com/company/Java2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaBasic/Java_generics/out/production/Java_generics/com/company/Java2.class -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/src/com/company/Java1.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | /** 4 | * 简介:使用泛型方法打印不同字符串的元素 5 | */ 6 | class Java1 7 | { 8 | // 泛型方法 printArray 9 | public static < E > void printArray( E[] inputArray ) 10 | { 11 | // 输出数组元素 12 | for ( E element : inputArray ){ 13 | System.out.printf( "%s ", element ); 14 | } 15 | System.out.println(); 16 | } 17 | 18 | public static void main( String args[] ) 19 | { 20 | // 创建不同类型数组: Integer, Double 和 Character 21 | Integer[] intArray = { 10, 20, 30, 40, 50 }; 22 | Double[] doubleArray = { 2.1, 2.2, 2.3, 2.4 }; 23 | Character[] charArray = { '程', '序', '职', '场' }; 24 | 25 | System.out.println( "整型数组元素为:" ); 26 | printArray( intArray ); // 传递一个整型数组 27 | System.out.println( "\n双精度型数组元素为:" ); 28 | printArray( doubleArray ); // 传递一个双精度型数组 29 | System.out.println( "\n字符型数组元素为:" ); 30 | printArray( charArray ); // 传递一个字符型数组 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/src/com/company/Java2.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | /** 4 | * 泛型类 5 | * @param 6 | */ 7 | public class Java2 { 8 | 9 | private T t; 10 | 11 | public void add(T t) { 12 | this.t = t; 13 | } 14 | 15 | public T get() { 16 | return t; 17 | } 18 | 19 | public static void main(String[] args) { 20 | Java2 integerBox = new Java2(); 21 | Java2 stringBox = new Java2(); 22 | 23 | integerBox.add(new Integer(10000)); 24 | stringBox.add(new String("程序职场")); 25 | System.out.printf("值为 :%d\n\n", integerBox.get()); 26 | System.out.printf("字符为 :%s\n", stringBox.get()); 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /code/JavaBasic/Java_generics/src/com/company/Java3.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | import java.util.ArrayList; 3 | import java.util.List; 4 | 5 | /** 6 | * 类型通配符 7 | */ 8 | public class Java3 { 9 | public static void main(String[] args) { 10 | List name = new ArrayList(); 11 | List age = new ArrayList(); 12 | List number = new ArrayList(); 13 | 14 | name.add("程序职场"); 15 | age.add(30); 16 | number.add(10000); 17 | 18 | getData(name); 19 | getData(age); 20 | getData(number); 21 | } 22 | 23 | public static void getData(List data) { 24 | System.out.println("DateInfo :" + data.get(0)); 25 | } 26 | } -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/.idea/description.html: -------------------------------------------------------------------------------- 1 | Simple Java application that includes a class with main() method -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/.idea/project-template.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/ThreadClass.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/out/production/ThreadClass/com/company/ThreadSleep.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaTheead/ThreadClass/out/production/ThreadClass/com/company/ThreadSleep.class -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/out/production/ThreadClass/com/company/ThreadWait$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaTheead/ThreadClass/out/production/ThreadClass/com/company/ThreadWait$1.class -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/out/production/ThreadClass/com/company/ThreadWait$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaTheead/ThreadClass/out/production/ThreadClass/com/company/ThreadWait$2.class -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/out/production/ThreadClass/com/company/ThreadWait.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaTheead/ThreadClass/out/production/ThreadClass/com/company/ThreadWait.class -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/src/com/company/ThreadSleep.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | public class ThreadSleep { 4 | public static void main(String[] args) { 5 | // write your code here 6 | int time = 10; 7 | 8 | for (int i=1;i<=time;i++) { 9 | try { 10 | Thread.sleep(1000); 11 | System.out.println("线程休眠时间=" + i +"秒"); 12 | } catch (InterruptedException e) { 13 | e.printStackTrace(); 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadClass/src/com/company/ThreadWait.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | public class ThreadWait { 4 | public static void main(String[] args) { 5 | /** 6 | * 作者:公众号:程序职场 7 | * 代码描述:创建两个线程一个操作年龄的信息,一个是工作量的信息 8 | */ 9 | //输出年龄信息 10 | Object obj=new Object(); 11 | Thread download=new Thread(){ 12 | public void run() { 13 | System.out.println("开始输出年龄"); 14 | for (int i = 1; i < 6; i+=1) { 15 | System.out.println("年龄="+i); 16 | } 17 | System.out.println("年龄输出成功"); 18 | synchronized (obj) { 19 | System.out.println("唤起"); 20 | obj.notify();//唤起wait的等待 21 | } 22 | System.out.println("开始输出工作量"); 23 | for (int i = 1; i < 6; i+=1) { 24 | System.out.println("工作量="+i+"小时"); 25 | } 26 | System.out.println("工作量输出成功"); 27 | } 28 | }; 29 | 30 | //2.年龄输出成果的结果 31 | Thread show=new Thread(){ 32 | public void run(){ 33 | synchronized (obj) { 34 | try { 35 | System.out.println("阻塞"); 36 | obj.wait();//阻塞当前 37 | } catch (InterruptedException e) { 38 | e.printStackTrace(); 39 | } 40 | System.out.println("年龄完成"); 41 | } 42 | } 43 | }; 44 | 45 | download.start(); 46 | show.start(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /workspace.xml -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/.idea/description.html: -------------------------------------------------------------------------------- 1 | Simple Java application that includes a class with main() method -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/.idea/project-template.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/.idea/uiDesigner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/ThreadSynchron.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/out/production/ThreadSynchron/com/company/ThreadSyn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProceduralZC/JavaDevGuide/1253b8d88768413e0f7b8cc91d61b04c65a04057/code/JavaTheead/ThreadSynchron/out/production/ThreadSynchron/com/company/ThreadSyn.class -------------------------------------------------------------------------------- /code/JavaTheead/ThreadSynchron/src/com/company/ThreadSyn.java: -------------------------------------------------------------------------------- 1 | package com.company; 2 | 3 | public class ThreadSyn implements Runnable{ 4 | // //有5张票 5 | // int ticked = 5; 6 | // @Override 7 | // //重写run()方法 8 | // public void run() { 9 | // for(int i=ticked;i>0;i--) { 10 | // System.out.println(Thread.currentThread().getName() + " sells " + i + " ticket"); 11 | // } 12 | // } 13 | // //main方法测试 14 | // public static void main(String[] args) { 15 | // //实例化Thread对象 16 | // ThreadSyn tT = new ThreadSyn(); 17 | // Thread td1 = new Thread(tT,"火车站"); 18 | // Thread td2 = new Thread(tT,"老黄牛"); 19 | // Thread td3 = new Thread(tT,"代理商"); 20 | // Thread td4 = new Thread(tT,"12306"); 21 | // //启动线程 22 | // td1.start(); 23 | // td2.start(); 24 | // td3.start(); 25 | // td4.start(); 26 | // } 27 | 28 | 29 | int ticket = 12; 30 | //担任"锁",锁是什么不重要,他只是一把锁 31 | //要求,非空对象 32 | private String mutex = ""; 33 | @Override 34 | //重写run()方法 35 | public void run() { 36 | //while循环 37 | while (true) { 38 | synchronized (mutex) { 39 | if(ticket > 0) { 40 | System.out.println(Thread.currentThread().getName()+ " sells " + ticket-- + " ticket."); 41 | }else { 42 | break; 43 | } 44 | } 45 | } 46 | } 47 | //main方法测试 48 | public static void main(String[] args) { 49 | //实例化Thread对象 50 | ThreadSyn tT = new ThreadSyn(); 51 | Thread td1 = new Thread(tT,"火车站"); 52 | Thread td2 = new Thread(tT,"携程"); 53 | Thread td3 = new Thread(tT,"代理商"); 54 | Thread td4 = new Thread(tT,"12306"); 55 | //启动线程 56 | td1.start(); 57 | td2.start(); 58 | td3.start(); 59 | td4.start(); 60 | } 61 | } 62 | --------------------------------------------------------------------------------