每个人在学习Java的过程中都会有些迷茫,在这里把我这几年的学习心得总结一下,希望对大家找到自己学习Java的方向有所帮助。
java学习心得有哪些?
从构建第一个java的项目,构建第一个类开始,在面向对象先导课中,从一个java的门外汉,到逐渐开始利用java完成一些小的代码,这个过程可以说是一边迎接着新的挑战,一边感受着自己的喜悦。
java第一次给我冲击的感觉,就是在一开始的时候,运用多个类和类中的方法和构造器,来使代码变得更加简洁有效。在第一次课堂练习上从静态和非静态方法的区别,和构造方法的继承,和继承的子类里的注意事项,以及父类中数据类型继承的区别,都给了新奇的体验,也许面向对象的思想就是在这时慢慢生成了萌芽。
第一次靠自己成功运行一个Java程序的时候,那种成就感是无与伦比的,感觉自己离电视里叱咤风云的黑客又更近了一步。
在学习Java的语法时,Java的语法是类似c语言的,所以学习的比较轻松。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,和同学一起讨论了好久才得以解决。
在我看来,学习一门语言必备的几个要点在于,看,练,悟。
在这个连技术也已经沦为快餐的时代,很多人无可厚非的认为,在短时间内,快速应用一门语言才是他们所追求的,这也造成了当今培训机构的泛滥。我对此不评价,存在既是合理。
但是,我这些心得体会,是想对那些真正喜欢技术的朋友,动机纯粹的朋友而言的。
学习技术的时候,你是否总会被一些琐事烦恼呢,qq,网游,小说。。。
我并不喜欢玩游戏,但是总是觉得有时候一些时间莫名其妙的就在电脑前消失了,所以,我直接给自己装了双系统,一个win7,一个linux ubuntu。
java是跨平台的,那又为何不试试在Linux下开发呢?
这就是一种,逼迫自己的心态了。
为了以后能够顺利的学习java的最新知识,或者是获得其他技术的最新信息,我又开始逼迫自己做第二件事情,那便是阅读英文原书。
但学习并不是一蹴而就,我每天读大概20页左右,接触1w多单词,虽然会有重复,虽然也会有用电子词典把一页的很多单词逐一查出的尴尬与麻烦,但是,成果也是相当满意的。
当我坚持读完100页之后,顿时觉得轻松很多。随手再打开think in java的英文pdf,竟然也能基本没有障碍的阅读下来(我当时读的是另一本英文书籍)。
这时不由想起我的老师曾经讲过的一句话,当时我跟着他一起在研究arm相关的技术,他告诉我,那些最新的技术,最难的技术,会的人不用看翻译版,不会的人也翻译不出来。结果这就造成了很多经典的技术书籍很难找到合适的人来翻译的苦果。
所以,我建议大家,真正的逼迫自己一下,装一个Linux不费多少事情,坚持读完一本英文书籍也好还是英文的java api文档也罢,相信我,技术是不会骗人的,英语也是不会骗人的,当你投入多少,你自然会得到多少。
我整理了一些java技术资料和面试题集,供大家提升进阶,不管你是要入门学习还是想面试跳槽巩固基础,都可以免费领取一份。
第一阶段:Java基础(javase)
2022全新版Java入门教程_java零基础小白自学Java必备优质教程
环境变量:JDK 、JRE、JVM
开发工具:INteliJ IDEA、eclipse、VS code
入门知识:二进制、变量、八种数据类型、运算符、类型转化
控制语句:单选择结构、双选择结构、多选择结构、switch语句、循环语句、break、continue、方法、递归
面向对象:对象和类的区别、属性、方法、构造方法、JVM内存、垃圾回收机制、This 关键字、static关键字、包机制、封装、继承、多态、抽象类、抽象方法、接口、内部类
数组:一维数组、二维数组、多维数组、排序算法、查找算法
网络编程:网络通信协议、URL、Socket编程、TCP双向通信、UDP通信
反射技术:Class对象原理、获取类的构造方法、获取类的属性、获取类的方法
Lambda表达式:基本语法、实现函数接口、引用方法、创建线程、操作集合、闭包问题
异常机制: CheckedException、RuntimeException、 try-catch-finally异常解决、 try-with-resource新特性、声明式解决异常、自定义异常
常用类:String不可变字符串类、StrngBuilder、 StringBuffer可变字符串类、八种包装类、时间相关类(Date、 DateFormat、 Calendar)
容器:泛型、List、 Set、 Map
手写数据结构:手写栈结构、手写单向链表结构、手写双向链表结构、手写二叉树排序、手写树形数据结构
I0流技术:四太抽象类、文件字节流、文件字符流、缓冲流、转换流、字节数组流、对象流、文件随意访问流
多线程和并发编程技术:线程和并发的概念、线程创建的两种方式、线程的生命周期、线程同步、线程并发和协作、线程池
第二阶段:MYSQL数据库
MySQL数据库零基础入门到精通全套教程_Mysql基础
SQL语言:select查询、函数、多表查询、自连接、外连接、组函数、嵌套组函数、子查、DML语言主键、外键、事务、视图、索引
数据库管理:mysq|安装和使用、oracle安装和使用、用户权限、执行计划、导入和导出数据、数据库设计范式
JDBC编程:驱动加载和核心原理、PreparedStatement、ResultSet 、事务处理、程序分层开发
第三阶段:web前端(HTML+CSS)
web前端_HTML5+CSS3零基础视频教程
HTML5:常用标签、表单标签、表格标签、音视频标签、多媒体标签
CSS3:选择器、盒子模型、定位
JavaScript语言:基本语法、控制语句、函数与对象、事件机制 、 DOM编程
VUE框架:模板语法、条件渲染、列表渲染、事件处理、组件、路由、 Axios网络请求跨域 、状态管理Vuex 、打包部署
第四阶段:JavaEE开发
Servlet从入门到实战精选视教程_JavaWEB阶段Servlet小服务程序
网络编程协议:应用协议、传输协议、网际协议、路由控制协议、TCP协议、http协议、
Servlet:Tomcat服务器、Servlet生命周期详解、HttpRequest对象、HttpResponse对象、HttpSession对象、ServletContext对象、过滤器、监听器、JSP技术介绍、
第五阶段:SSM框架
最全SSM框架整合详细教程_Spring+SpringMVC+Mybatis
Mybatis:核心API 、全局与映射配置文件、事务管理、SqlSession 、Mapper动态代理、动态SQL 、缓存的使用、多表关联查询、注解开发
Spring:核心体系、 IOC与AOP 、整合持久层、代理模式、AspectJ框架、声明式事务
Spring MVC: MVC模式、获取请求参数、处理响应、异常处理、拦截器、 Restful风格支持 、JSON数据处理、跨域请求
Shiro安全框架:认证策略、加密算法、授权、SessionManager、 RememberMe
第六阶段:项目管理和Linux
Linux系统:VMWare安装和使用、常用命令、常用配置、Xshell的使用
Git:版本控制原理、本地命令、远程仓库操作、 IDEA中操作Git
Maven:整合IDEA 、POM模型、依赖与继承关系、插件的使用、私服的使用
Nginx:反向代理、安装和配置、虚拟主机配置、负载均衡、Http协议代理
第七阶段:微服务
Spring高级框架从入门到精通_Spring框架底层原理
SpringBoot: IDEA脚手架工具创建项目 、 SpringBoot项目结构、整合Web层技术、整合持久层技术、度量指标监控、多环境配置
spring Session:基于Redis共享Session数据、基于Redis同步自定义对象、设置Session的失效时间、更换Spring Session的序列化器
Spring Session MongoDB:基于MongoDB共享Session数据、基于MongoDB同步自定义对象、设置Session的失效时间、更换Spring Session MongoDB的序列化器
Spring SEcurity: UserDetailsSewice详解、PasswordEncoder密码解析器详解、自定义处理器、授权处理、RememberMe的实现
Spring Cloud:搭建Eureka高可用集群、 Ribbon 常见的负载均衡策略 、OpenFeign的使用、OpenFeign对Gzip的支持、二Hystrix简介、服务降级与熔断、基于Gitee管 理配置文件 、搭建Gateway服务 、实现请求路由、Gateway内置过滤器的使用、服务实现熔断功能
第八阶段:分布式
Zookeeper:存储结构介绍、监听通知机制、单机与集群安装、常用命令
Dubbo:Dubbo简介、 配置文件详解、服务的远程调用、服务的监控与管理、服务的负载均衡策略
FastDFS:FastDFS简介、同步机制详解、 FastDFS安装、通过Java客户端操作FastDFS、使用FastDFS实现文件上传于下载
Swagger :Swagger简介、 Swagger极致用法 、Swagger UI用法、基本信息配置、常用注解
第九阶段:消息中间件
ActiveMQ:ActiveMQ简介、ActiveMQ常用API、ActiveMQ消息处理、Topic模型
RabbitMQ:RabbitMQ简介、安装RabbitMQ、 Direct交换 器、Fanout交换器、Topic交换器
第十阶段:高性能数据处理
Redis :单机与集群安装、常用命令、数据持久化方式、Jedis的使用、Spring整合Jedis
MongoDB:MongoDB简介、 MongoDB基本使用、集合与文档操作、索引操作、聚合查询
MyCat:安装MyCat、创建MySQL的主从模式、配置文件详解、实现读写分离、分片规则的定义。
第十一段:Java面试题+项目合集
本套课程为JavaWeb阶段考试题真题讲解,包含笔试题和机试题,为你提供解题思路,培养你的解题思维,同时点明考点,结合文档进行重点解读,加深你的印象,预祝各位学员考试顺利通关。
Java笔试题机试题真题讲解_JavaWeb阶段考试_Java期末考试通关
20款适合练手的Java毕设项目(附源码)
以上就是初学者大概学习的内容,我是尽量站在初学者的角度来说的,没有写得特别复杂,怕初学者看不懂,没有实质性的帮助。所以我尽量用白话把话说的简单一些,给大家罗列出主要学习的Java知识点。