2019第一天
2018年过去了,自己也毕业半年了,2018年自己也学到了一些东西,当然也欠缺好多东西。毕业半年了,自己在实际工作中更多的是做一些基本的CRUD,没有什么特别复杂性的工作,但是也学到了很多东西。更多的是增强了自己的思维逻辑能力,在写代码的时候可以想到各种可能出现的异常情况,也接触了很多的工具包的使用。
现在回顾一下自己2018年学到的东西以及2019年计划学习的东西。
18年看了两本书,《深入理解Java虚拟机》与《Java多线程编程核心技术》。也学习了一些常用的框架以及工具类,比如说redis、消息队列(非常浅显)、SSH、SSM等的使用。
《深入理解Java虚拟机》自己理解的大概有7成左右吧,对JVM内存结构、垃圾回收机制等有了一定的认识,同时对class文件结构以及类加载器的双亲委派模型等也有了一定的认识;对JDK下常见的性能分析工具也有了一定的认识。后面的并发编程部分讲的比较浅显也就没有细看,只能说有点印象。
《Java多线程编程核心技术》,作者是高洪岩。这本书在阅读的时候是结合《Java并发编程实战》一起看的,前一本书代码比较详细,对初步了解多线程有很大的帮助,后一本书讲的比较深入,而且讲了许多深入的东西。这两本书阅读完之后对多线程有了深刻的认识,这两本书阅读的比较详细,代码也是一个一个自己敲出来的,所以就印象深刻。对synchronized同步、Lock同步有了深刻的认识,对多线程的使用也有了了解,对线程池的使用更加熟练,也接触了一些像栅栏、闭锁等知识。总之,这两本书结合起来对多线程的使用应该是足够了,可以解决一些常见的问题,也可以自己编写一些常用的多线程代码。不过项目中一般都是线程池的使用,在线程池的使用时要注意并发原子类型的使用,像AtomicInteger等,以及其原理CAS,同时对并发同步容器类以及AQS(抽象同步序列器)有了一定的认识。这两本书确实是受益匪浅。
接下来是2019年的计划。首先我列出了自己在BOSS直聘上看到的大多数的技术要求:
dubbo学习(RPC框架),zookeper,消息中间件,springcloud,netty Spring,SpringMVC,Mybatis struts2/hibernate mysql/oracle/SqlServer/ 熟悉Hadoop技术线,可熟练使用ES查询语法和Hive、Spark、Hbase、MapReduce; SVN/Git/Maven/Ant Kafka、zookeeper、memcached、Redis、RabbitMQ、RocketMQ、activemq docker 服务器相关: tomcat/jboss/weblogic/jetty
熟悉linux平台 , 熟悉至少一种脚本语言(shell/python)
有Spark、Hadoop、Storm等技术经验者优先;
了解Hadoop/HBASE、Redis等nosql数据库。
FastDFS分布式文件系统、Elasticsearch
自己也有好多只是听过没有研究过,比如dubbo、zookeper、kafka、mq、springcloud、docker、ElasticSearch相关知识以及hadoop相关知识体系。在今年会学习上面的相关知识。这些分布式的知识在现在的开发中确实太常见了,打开BOSS直聘随便一搜都会要求这些。
下面是一些BOSS上提及但是不是那么重要的知识,这些可以在之后学习:springData、JPA。
19年自己计划阅读的书籍有下面两本: Spring源码解析 \ 设计模式。
19年自己计划完成的几个小练习,将教务系统转为springboot项目、电厂项目实现集群部署(主要研究session共享的几种方式)、webview+FrameWork7实现安卓应用和IOS应用的开发(前提是先买一个ios的手机)。
19计划开发一个小型的安卓端app应用,至于软件的作用还没想清楚。。。。。。。
===移动端开发相关知识:===
第一种开发思路:(这个简单)
H5+学习网站:http://www.hcoder.net/course/info_212.html http://www.html5plus.org/doc/zh_cn/webview.html
安卓开发相关:(HBuilder开发工具建立app项目,mui框架-此框架可以打开手机的操作,发布apk也可以用HBuilder----可以做一个二维码制作一个下载apk的链接)
学习网站 h5+,HBuilder,mui学习网站 http://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/610
mui 最接近原生APP体验的高性能前端框架,如果想要开发安卓应用可以采用这种方式实现。这个完全可以用于开发手机App, 与java交互的时候可以采用JSON交互,自带的ajax请求支持跨域。http://dev.dcloud.net.cn/mui/ui/
h5+结合mui开发 安卓移动端开发:h5+(或者mui,mui是对h5+的包装)。h5+使得 js 可以调用各种浏览器无法实现或实现不佳的系统能力,设备能力如摄像头、陀螺仪、文件系统等,业务能力如上传下载、二维码、地图、支付、语音输入、消息推送等。
(注意这种开发只能嵌入app中,如果直接浏览器中访问是不能操作手机软件的,因为没有权限)
第二种开发思路:
webview+Framework7开发移动端应用。
这里记录几个常用网站:
易百学习网站(前后都有,包括thymeleaf):https://www.yiibai.com/