JAVA学习总结

Java基础一

  1. 基本集合相关 java.util.*

       List   ArrayList   LinkedList(盏、队列)  Vector  Stack

       Set   HashSet   TreeSet  LinkedHashSetLRU

       Map HashMaphash冲突) TreeMap  HashTable  Properties

               LinkedHashMapLRU 

  1. 异常体系   java.lang

        Throwable  Error(严重的异常、错误)  Exceptioncheck型)  RuntimeException (非check型)

  1. 泛型(Java语言语法糖)—— C++模板,但有本质区别  伪泛型类型擦除  给编译器看

        本质是参数化类型的应用,也就是说所操作的数据类型被指定为一个参数,在用到的时候在指定具体的类型。这种参 数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口和泛型方法。

  1. 注解  java.lang.annotation 

几种元注解  注解保留时间source class runtime  运行时通过反射获取注解信息

  1. IO/NIO   java.lang    java.nio

     基本ioInputStream outputStream  Reader  Writer  (应用装饰者模式、适配器模式)

     高级ioChanel    Buffer (虚拟机直接内存)、Selector (单线程处理多个 Channel Linux select poll  Java API封装  高性能java服务器基础

  1. 反射(?使java语言具有动态性)  动态语言or  静态语言

            作用: 反编译:.class-->.java

              运行时通过反射机制访问java对象的属性,方法,构造方法等;

        反射机制中的类:

       java.lang.Class             

java.lang.reflect.Constructor

java.lang.reflect.Field      

java.lang.reflect.Method

java.lang.reflect.Modifier

反射、注解  很多框架实现的基础(SSH   程序员面临很多(文本)配置

  1. 线程 Thread

  线程的生命周期、五(六)种基本状态

  状态转化条件:涉及的方法 start()  run() wait() notify() sleep() join()   LockSupport.park()LockSupport.unpark()synchronized关键字等

  安全的终止线程中断 Thread.interupt() Thread.isInterupt() ;设置布尔变量

   8  网络编程  java.net.*

           网络通信底层协议TCP/UDP/IP ;类InetAdress Uri Url 、针对Http协议的UrlConnection (GET POST Socket  ServerSocket 

补充:Java字符串String 字符串常量池

Java正则表达式

       Java装箱和拆箱  :基本数据类型对象区别、什么时候自动装箱和拆箱、对象池equal() ==  判等

       Java对象序列化:Serializable接口transient关键字、单例对象序列化  serialVersionUID静态常量版本兼容等

       java 强引用与软引用: StrongReference (对象具有强引用,那垃圾回收器绝不会回收它)、SoftReference(如果内存不足、就会回收) SoftReferenceReferenceQueue搭配使用实现敏感对象高速缓存

       java RMI 

       java动态代理:

       java ThreadLocal

二、java基础二

   1Java并发编程  java.util.concurrent.*

         Java内存模型:(共享内存并发编程核心问题原子性、可见性、有序性),重排序、Happens-Before规则(记住四条主要的)、volatial语义(对象可见性、语句有序性、变量读写操作原子性)、synchronized锁语义(具有最强的内存同步保证)、final语义  Volatial读、写语义  java CAScompareAndSet)操作是java并发包实现的基础

         Java并发集合包:List CopyOnWriteArrayList (写时复制、无锁并发读)

                          SetCopyOnWriteArraySet   

                          Map : ConcurrentHashMap ( 使用锁分段技术提升并发访问率)

                          阻塞队列:ArrayBlockingQueue LinkedBlockingDeque PriorityBlockingQueue 等(可用于实现生产者、消费者模型的简单方法)

         Java  java.util.concurrent.locks 

 Lock接口(面向锁使用者)、AbstractQueuedSynchronizer 模板类(面向锁实现者)

                   两种常用锁ReentrantLock ReentrantReadWriteLock 使用以及实现

        方便的并发工具类:CountDownLatchCyclicBarrier Semaphore

        Java线程池:  ThreadPoolExecutor类(参数意义、阻塞队列选择、饱和策略)、Executors几个静态静态工厂方法;向线程池提交任务的实现原理、过程说明;线程池的关闭合理配置线程池

   2java虚拟机JVM

            Java内存区域划分、对象创建与内存布局(new关键字创建后一系列动作)、垃圾收集器(对象判活算法、java堆内存划分、各种垃圾收集器作用区域、参数配置)Java内存泄露内存分析工具Jporfiler   jconsole  MAT (Eclipse 插件)   虚拟机类加载过程(各阶段功能)、类加载器(双亲委派)双亲委派的打破  Tomcat中类加载器异同

 

   3javaee设计模式

        设计模式基本原则(结合模式理解)、画常用设计模式类图、常见设计模式的使用条件、解决的问题。结合java jdk 理解常用的设计模式

                           单例模式常问,java静态内部类单例模式( java.lang.Runtime)、工厂模式、原型模式(Cloneable接口)、代理模式(java动态代理)、装饰模式( javaio、模板方法模式(AQS ),等等…………………………..

               三、Java web相关一

  1、了解些前端东西

      基本的BOM DOM JQuery Ajax ,了解浏览器工作原理(后端也得稍微知道些前端的东西,合作联调什么的。。。);还有很多前端框架学学看看用的时候边用边学吧。。。。。。

 

                   2JSP \ServletJDBC

          Http协议重点理解

                           数据编码乱码跨域访问问题、JspServlet区别(实质)、共同点各自适用范围、Servlet 生命周期、单实例?无状态?线程安全问题?转发与重定向区别工作原理、Cookie 以及Session应用范围工作原理  Filter生命周期、Filter链(职责链模式)各种Listener

 

  Servlet Filter 重点理解,他们分别是Spring MVC  Struts2 框架的入口 

  

  JDBC  java访问数据库的基石,其他框架如HibernateORM只是更好的封装了Jdbc Jdbc如何实现Java程序和JDBC驱动松耦合、如何创建一个JDBC连接JDBCDriverManager是用来做什么的、jdbc三种statement各自区别功能  jdbc中批处理、好处   jdbc事务控制提交回滚隔离级别       

     

                  3、数据库

                         一般是Mysql  数据库ACID 存储引擎MyIsam InnoDB区别、存储引擎选择、遵守范式与反范式InnoDB支持的四种事务隔离级别、索引设计原则、掌握一些Sql优化方式  Mysql复制(主从备份)原理工作流程binlog格式以及区别、  Innodb聚簇索引 Myisam非聚簇索引原理存储管理数据方式区别(b+树)、Mysql锁问题(在存储引擎、隔离级别、sql语句索引确定情况下,执行sql时数据库加锁情况、死锁分析)mysql高可用

四、Java web相关二

    1SSH (Spring+Struts+Hibernate)框架-> SSM(Spring+SpringMVC+Mybatis)框架

     Struts2 个人不咋喜欢,太重、太繁琐还有很多问题SpringMvc更轻,好用完全可以替代

       Spring /SpringMVC  :什么是IOC AOP  带来的好处IOC容器(屌丝容器-BeanFactory ,牛逼容器-ApplicationContext)实现原理启动流程、SpringBean的生命周期、SpringAop几种配置方式实现原理(动态代理、CGLIB)、

SpringMVC应用上下文(Web ApplicationContext容器)在web中的启动与销毁、SpringMVC  DispatcherServlet启动与销毁、SpringMVC请求处理流程涉及的mvc框架组件  应用的设计模式

Spring 编程式事务和声明式事务(xml配置事务、注解事务)、事务五边形(隔离级别、传播行为、超时、只读属性、回滚规则)

Hibernate Mybatis 这两个数据持久化层的orm框架了解区别  能对其进行spring配置整合  任意学习、了解一个吧。。。

2web服务器

       Tomcat Jetty实现Servlet规范的web容器  知道其基本工作原理里面用到些设计模式了解其服务线程模型能更好的理解servlet运行原理

      Jetty 轻量的应用程序级Servlet引擎,有时间看看源码。。

博客文章Tomcat 系统架构与设计模式:

http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/

http://www.ibm.com/developerworks/cn/java/j-lo-tomcat2/

 

五、Java后台服务化 WEB架构

中间件:

     面向对象中间件:javaRMI 、实验室用的ICE

     面向消息中间件:java规范JMS  ActiveMQ RabbitMQ

缓冲:

     分布式缓冲:Memcached (一致性Hash算法)Redis

分布式数据库:

     NoSql   Hbase  MongDB

负载均衡:

      四层: LVS

      七层:Nginxweb反向代理、负载均衡)

 

 

补充:推介的书籍

Java核心技术1

Java数据结构和算法(第二版)》

Head First设计模式》

《深入理解Java虚拟机:JVM高级特性与最佳实践》

HotSpot实战》

JAVA网络编程4版》

Java并发编程实战》

java并发编程的艺术》

Servlet & JSP学习笔记》

《深入分析Java Web技术内幕》

MySQL5.6从零开始学》

《高性能MySql

Spring实战》

Spring源码深度解析》

Spring技术内幕》

Spring源码深度解析》

Effective Java中文版》

《深入剖析Tomcat

《大型网站技术架构核心原理与案例分析》

《大型网站系统与Java中间件实践》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值