zoukankan      html  css  js  c++  java
  • 11月新的开始

    这一段时间事情有点多,有点没顾上写博客,但是看大佬说,想变强不仅需要输入,还需要持续的输出,所以博客还是要写滴。最近开始学习linux了,争取做到两天一总结好吧。spring相关的项目开发与基础学习也在进行中。整体的学习路线下面列一下,每周都会在此基础上进行以下总结。每天学习的东西也做一个总结放在博客里。

    首先是今日学习安排:leetcode349 两数组交叉数据,很简单将数据放到hashset里,遍历一个的所有数据是不是在第二个之中包含,set.contains(num),还有一种是排序之后的双指针,需要注意的是不能重复添加数据,因此需要加上判断保证不能重复添加数据。

     if (index == 0 || num1 != intersection[index - 1]) {
                        intersection[index++] = num1;
                    }

    然后对老师的一个项目进行了需求分析文档整理和组会。linux看的鸟哥私房菜,刚开个头,任务量不大明天加油!!!!!

    结合知乎大佬沉默王二的回答与自己的总结(争取把里面的超链接都换成自己的博客):

    面试前需要掌握的所有知识

       Github使用,协作开发

       Java 基础入门

    1)基本数据类型

    • 8 种基本数据类型(boolean、char、byte、short、int、long、float、double)
    • 整形中 byte、short、int、long 的取值范围
    • 单精度和双精度
    • 为什么不能使用“==”比较浮点数
    • 基本类型和包装类型的区别
    • 自动拆箱与装箱
    • Integer 的缓存机制

    2)操作符

    • 算术运算符
    • 逻辑运算符
    • 比较运算符

    3)流程控制语句

    • 条件分支(if/else/else if、三元运算符、switch
    • 循环或者遍历(for、while、do-while)
    • break 和 continue

    4)包

    • 创建包
    • 导入包
    • 包全名

    5)main 方法详解

    • public 关键字
    • static 关键字
    • void 关键字
    • main 方法
    • 字符串数组参数(String[] args

    6)数组

    7)注释

    8)字符串

    Java 核心技术

    1)面向对象

    2)常用工具类

    • 字符串相关的工具类
    • 日期时间相关的工具类
    • 枚举
    • 随机数
    • 正则表达式
    • Apache-commons 工具库
    • Guava 工具库

    3)集合框架

    4)反射机制

    • 什么是反射?
    • 反射有什么用?
    • Class 类

    5)异常处理

    • 为什么需要异常处理机制?
    • Error 和 Exception
    • try-catch-finally
    • try-with-resource
    • 自定义异常
    • 尽量捕获原始异常
    • 不要打印堆栈后再抛出异常
    • 不要用异常处理机制代替判断
    • 不要过早捕获异常

    6)注解

    • 注解是什么?
    • 注解的生命周期
    • 注解装饰的目标
    • 自定义注解
    • 使用注解

    7)IO 流

    • 字符流、字节流
    • 输入流、输出流
    • 同步、异步
    • 阻塞、非阻塞
    • BIO、NIO 和 AIO
    • NIO 2.0

    8)序列化

    • 什么是序列化和反序列化
    • Java 如何实现序列化和反序列化
    • Serializbale 和 Externalizable
    • serialVersionUID

    9)泛型

    10)单元测试

    • Junit
    • TestNG

    11)编码方式

    • ASCII
    • Unicode
    • UTF-8
    • GBK、GB2312
    • 如何解决乱码问题

    12)并发编程

    • 什么是并发
    • 什么是并行
    • 什么是线程
    • 什么是进程
    • 线程的状态
    • 线程的优先级
    • 创建线程
    • 创建线程池
    • 什么是线程安全
    • 多级缓存和一致性问题
    • CPU 时间片和原子性问题
    • 指令重排和有序性问题
    • 线程安全和内存模型
    • happens-before
    • 可重入锁
    • 阻塞锁
    • 乐观锁
    • 悲观锁
    • 分布式锁
    • CAS
    • ABA
    • 偏向锁
    • 轻量级锁
    • 重量级锁
    • 自旋锁
    • 什么是死锁
    • 如果避免死锁
    • synchronized
    • volatile
    • ThreadLocal
    • Executors
    • CountDownLatch
    • Thread
    • Runnable
    • Callable
    • ReentrantLock
    • ReentrantReadWriteLock
    • Atomic 相关类

    13)Java 8 新特性

    14)源码阅读

    • String
    • Integer
    • ArrayList
    • LinkedList
    • CopyOnWriteArrayList
    • HashMap
    • TreeMap
    • LinkedHashMap
    • ConcurrentHashMap
    • CopyOnWriteArrayList

    Java 进阶升级

    1)JVM

    • Java 内存结构
    • 垃圾回收
    • JVM 参数调优
    • Java 对象模型
    • HotSpot
    • 类加载机制
    • 编译和反编译
    • 反编译工具
    • JIT
    • 虚拟机性能监控和故障处理工具(jps、jstack、jmap、jstat、jconsole、javap)

    2)性能优化

    • 使用单例
    • 使用线程池
    • 减少上下文切换
    • 减小锁粒度
    • 数据压缩
    • Stream 并行流
    • GC 调优
    • JVM 内存分配调优
    • btrace

    3)设计模式

    • 设计模式的六大原则
    • 创建型设计模式(单例、抽象工厂、建造者、工厂、原型)
    • 结构型设计模式(适配器、桥接、装饰、组合、外观、享元、代理)
    • 行为型设计模式(模板方法、命令、迭代器、观察者、中介者、备忘录、解释器、状态、策略、责任链、访问者)
    • 单例的七种写法

    4)数据结构和算法

    • 简单的数据结构(栈、队列、链表、数组、哈希表)
    • 树(二叉树、字典树、平衡树、排序树、B 树、B+ 树、R 树、红黑树、多路树)
    • 图(拓扑、有向图、无向图)
    • 稳定的排序算法(冒泡排序、插入排序、鸡尾酒排序、桶排序、计数排序、归并排序、原地归并排序、二叉排序树排序、鸽巢排序、基数排序、侏儒排序、图书馆排序、块排序)
    • 不稳定的排序算法(选择排序、希尔排序、梳排序、堆排序、平滑排序、快速排序、内省排序、耐心排序、Clover 排序)
    • 时间复杂度
    • 空间复杂度
    • 贪心算法
    • KMP 算法

    5)操作系统

    • Linux 常用命令(find、top、tar、move、grep、tail、netstat、curl、wget、ping、ssh)
    • 服务器性能指标(qps、CPU 利用率)
    • 进程同步
    • 分段和分页
    • 虚拟内存和主存

    6)网络安全

    • CSRF
    • XSS
    • SQL 注入
    • 加密和解密(对称加密、非对称加密)
    • MD5、SHA1、DES、RSA
    • DDOS 攻击
    • HTTP 和 HTTPS
    • SSL
    • TLS
    • TCP 和 UDP
    • Cookie、Session
    • CDN
    • DNS

    7)数据库

    • MySql
    • 索引
    • 存储过程
    • 分库分表
    • binlog
    • 读写分离
    • 数据库缓存(RedisMongoDB
    • 数据库中间件(MyCat)
    • 数据库连接池(Durid)

    8)大数据

    • 搜索(Elasticsearch 、Solr)
    • 流式计算(Storm、Spark、Flink)
    • Hadoop

    9)服务器

    • Tomcat
    • jetty
    • Nginx

    10)框架

    • Spring
    • MyBatis
    • Spring MVC
    • Spring Boot
    • Spring Security
    • Spring Cloud
    • Netty
    • Dubbo

    11)消息队列

    12)容器

    • Docker
    • K8s

     最后要学一下java推荐的两个jar包,guava和hutool

     

  • 相关阅读:
    《掌握需求过程》阅读笔记(二)
    《掌握需求过程》阅读笔记(一)
    《软件方法》阅读笔记(三)
    《软件方法》阅读笔记(二)
    《软件方法》阅读笔记(一)
    《大象Think in UML》阅读笔记(三)
    Java中toArray的用法探究(java数组与list转换)
    Eclipse调试常用技巧
    ListView 总结----持续中
    PowerDesigner提示This data item is already used in a primary identifier.的处理
  • 原文地址:https://www.cnblogs.com/PPGwo/p/13916443.html
Copyright © 2011-2022 走看看