![](https://img-blog.csdnimg.cn/20200904184614606.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
个人学习整理,包括Java基础语法、面向对象、常用类库、集合框架、IO、多线程、反射、设计模式。
周大宇_
努力
展开
-
08-反射
Java反射机制是在运行状态中,获取任意一个类的结构,创建对象、得到方法、执行方法、属性;这种在运行状态动态获取信息以及动态调用对象方法的功能被称为Java语言的反射机制。1、类加载器Java类加载器(Java Classloader)是Java运行时环境(Java Runtime Environment)的一部分,负责动态加载Java类到Java虚拟机的内存空间中。java默认有三种类加载器,BootstrapClassLoader、ExtensionClassLoader、AppClassLo原创 2020-11-30 00:34:41 · 178 阅读 · 1 评论 -
07-JSON
一、JSONJSON:JavaScript Object Notation,是一种轻量级的数据交换格式。对象格式: 一本书: 书名 简介 java: class Book{ private String name; private String info; ...... } Book book = new Book(); book.setName("xxx"); book.setInfo("xxx"); js: var book = new Obj原创 2020-11-28 21:38:51 · 64 阅读 · 0 评论 -
06-并发编程
什么是并发编程? 并发编程是指多个任务在同一时间段内同时执行。为什么要用并发编程? 并发编程将多核CPU的计算能力发挥到极致,性能得到提升。并发编程的缺点: CPU不断切换线程造成性能损耗;会出现线程安全问题。 解决方案: 1. 无锁并发编程:ConcurrentHashMap锁分段,减少上下文切换时间。 2. CAS算法:使用乐观锁,减少不必要的锁竞争带来的上下文切换。 3. 使用最少线程:避免创建不需要的线程。 4. 协程:在单线程里实现多任务的调度,并在单原创 2020-11-25 19:45:13 · 306 阅读 · 1 评论 -
05-IO流
一、IO流的分类1、字节流1、InputStream方法: 1. read():从输入流读取数据的下一个字节 2. read(byte[] b):从输入流读取一些字节数,并存储到缓冲区 3. read(byte[] b,int off,int len):从输入流读取最大len字节的数据到字节数组 4. flush():刷新此输出流并强制任何缓冲的输出字节被写出2、OutputStream方法: 1. writer(int b):将指定的字节写入此输出流 2. writer(byte原创 2020-11-25 12:43:35 · 62 阅读 · 0 评论 -
04-集合
一、数据结构1、栈特点:先进后出2、队列特点:先进先出3、数组特点: 1. 元素有序,存储在一段连续的内存空间 2. 查找元素快:因为通过索引可以快速访问指定位置的元素4、链表特点: 1. 链表是一组不必连续的内存结构 2. 由数据和节点组成 3. 插入删除元素快:因为只需修改节点指向的下一个元素5、红黑树特点: 速度特别快6、哈希表二、Collection集合三、Map集合四、Comparable和Comparator1、Comparable使用原创 2020-11-24 20:31:42 · 51 阅读 · 0 评论 -
03-常用类库
1、MathMath类包含用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数。方法: 1. abs(int a):返回绝对值 2. sqrt(double a):返回正平方根 3. pow(double a,double b):返回 a的b次幂 4. ceil(double a):返回大于或等于参数的最小整数 5. floor(double a):返回小于或等于参数的最大整数 6. round(double a):四舍五入,返回最接近的 int 值 7. random():原创 2020-11-22 21:51:16 · 85 阅读 · 0 评论 -
02-面向对象
一、面向对象基础1、面向对象思想Java是一种面向对象的编程语言。面向过程关注的是如何去执行;面向对象关注的是具备某种功能的对象。面向过程→面向对象:执行者→指挥者。例如:把大象放进冰箱 面向过程:打开冰箱,把大象放进冰箱,关闭冰箱; 面向对象:指挥(调度)一个会操作冰箱的和一个搬运大象的去完成这项工作。三大思想: 1. OOA:面向对象分析; 2. OOD:面向对象设计; 3. OOP:面向对象编程;三大特征:(重点) 1. 封装性:将不想让外部知道的内容封装起来,只提供接口。原创 2020-11-21 21:26:26 · 85 阅读 · 0 评论 -
01-Java基础语法
一、Java入门1、Java发展史 1. 1996年1月,SUN公司推出了JDK1.0; 2. 2004年9月,Java SE 5.0发布; 3. 2014年3月,Oracle公司发布Java SE 8; 4. 2018年9月,Java SE 11发布,该版本是一个长期支持版本,持续到2026年9月。2、Java体系结构与特点特点:Java是一种跨平台的、健壮的、安全的、面向对象的编程语言。 1. Java SE:标准版,各种应用平台的基础,桌面开发和低端商务应用的解决方案(比如银行软件原创 2020-11-21 19:30:33 · 165 阅读 · 1 评论