![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
只为成功
这个作者很懒,什么都没留下…
展开
-
springMVC 指定文件 压缩下载
。。。原创 2022-06-19 20:14:56 · 230 阅读 · 1 评论 -
Java 读取TXT文件-行读取
Java 读取TXT文件-行读取public static String readFiles(String path) throws Exception{ BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path),"UTF-8")); StringBuffer sb = new StringBuffer(); String line = reader.readLine(原创 2020-07-29 11:00:16 · 1018 阅读 · 0 评论 -
设计模式(创建型,原型模式)
原型模式中有三个登场角色:原型角色: 定义用于复制现有实例来生成新实例的方// 以贴主示例代码为例 implements Cloneable // 1.(抽象类或者接口)实现 java.lang.Cloneable 接口public Shape clone(); // 2.定义复制现有实例来生成新实例的方法具体原型角色: 实现用于复制现有实例来生成新实例的方法public S...原创 2019-12-02 13:42:49 · 70 阅读 · 0 评论 -
写时复制
写时复制CopyOnWrite 容器及写时复制的容器。往一个容器添加元素的时候,不直接网当前容器Object[] 添加,而是先将当前容器Object[] 进行Copy ,复制出一个新的引用指向新的容器 setArray(newElements);。这样做的好处是可以copyonwrite 容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以copyonwrite 容器也是一种读写分...原创 2019-10-07 13:26:53 · 88 阅读 · 0 评论 -
JAVA集合知识点总结(一)
JAVA集合集合类存放于Java.util包中,主要有3种:set(集)、list(列表包含Queue)和map(映射)。Collection:Collection是集合List、Set、Queue的最基本的接口。Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:是映射表的基础接口ListJava的List是非常常用的数据类型。List是有序的Collection...原创 2019-09-25 22:13:05 · 278 阅读 · 0 评论 -
JVM加载机制的过程(二)
类加载器虚拟机设计团队把类的加载阶段中的“通过一个类的全限定类名来获取描述此类的二进制字节流”这个动作放到JVM外部实现,实现这个动作的代码模块称为类加载器启动类加载器(Bootstrap ClassLoader)负责加载 JAVA_HOME\lib 目录中的,或通过-Xbootclasspath参数指定路径中的,且被虚拟机认可(按文件名识别,如rt.jar)的类。扩展类加载器(E...原创 2019-09-25 20:02:43 · 88 阅读 · 0 评论 -
JVM 类加载机制过程(一)
JVM 类加载机制JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的 java.lang.Class 对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个 Class 文件获取,这里既可以从ZIP包中读取(比如从jar包和 war 包中读取),也可以在运行时计...原创 2019-09-25 19:40:08 · 105 阅读 · 0 评论 -
java面试题
一、Java 基础1.JDK 和 JRE 有什么区别?2.== 和 equals 的区别是什么?3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4.final 在 java 中有什么作用?5.java 中的 Math.round(-1.5) 等于多少?6.String 属于基础的数据类型吗?7.java 中操作字符串都有哪些类?它们之间有什么区...原创 2019-12-04 08:56:25 · 1349 阅读 · 1 评论 -
设计模式(3)
里氏替换原则OO 中的继承性思考和说明中的继承性思考和说明继承包含这样一层义:父类中凡是已经实现好的方法, 实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契但是如果对些已经实现的方法任意修改,就会对整个继承体系造成破坏 继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序侵入性,程序的可移植降低增加对象间耦合如果一个类被其他所继承则当这个类需要修改时,必须考...原创 2019-09-19 09:34:16 · 67 阅读 · 0 评论 -
设计模式(2)
借口隔离原则客户端不应该依赖它需要的接 口,即一 个类对另一的依赖应该建立在最小的接口上先看一张图类A通过接口 Interface1 依赖类 B,类 C通过 接口 Interface1 依赖类 D,如果接口 Interface1 对于类 A和类 C来说不是最小接口那么类 B和类D必须去实现他们不需要的方法。接下来要多做的是按隔离原则应当这样处理: 按隔离原则应当这样处理: 将接...原创 2019-09-19 09:03:10 · 176 阅读 · 0 评论 -
设计模式(1)
设计模式的作用代码重用性可读性可扩展性可靠性使程序呈现高内聚,低耦合的特性设计模式常用的七大原则有单一职责原则借口隔离原则依赖倒转原则里式替换原则开闭原则OCP迪米特法则合成复用原则单一职责原则 对类来说的,即一个应该只负责 项职。如类 A负责两个不同职 :责两个不同职 :责1,职 责2。 当职 责1需求变更...原创 2019-09-18 22:12:43 · 111 阅读 · 1 评论 -
实例方法和静态方法常识
1、调用方式上静态方法依赖于类,通过类.静态方法调用;实例方法依赖于类的对象,需要创建对象后,对象.实例方法使用2、使用上实例方法内部不能定义静态变量,会出现编译错误;实例方法可以直接调用静态方法;静态方法内部可以定义和使用实例变量,静态方法无法直接调用实例方法(因静态方法加载时类还没有实例化,实例方法依赖于类的对象)3、静态方法和实例方法的内存分配问题一般认为静态方法常驻内存,实例方法...原创 2019-09-17 21:28:15 · 2112 阅读 · 0 评论 -
浏览器输入url到发起http请求所经历的过程
一 浏览器查找域名对应的 IP 地址(域名解析的过程,先进行缓存的查看);1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。2、如果hosts里没有这个域名的映射,则查找本地DNS(Domain Name System)解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。...原创 2019-09-14 16:54:04 · 304 阅读 · 0 评论 -
JAVA 线程实现/创建方式
1.继承 Thread 类Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。 启动线程的唯一方法就是通过 Thread 类的 start()实例方法。 start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法class MyThread extends Thread { @Override public v...原创 2019-09-11 16:58:58 · 107 阅读 · 0 评论 -
GC回收算法
复制算法(copy)复制算法用于回收新生代GC复制算法将堆分成From和To两个内存块,当From被占满时GC将From中的存活对象复制到To中,同时将From和To交换。通过递归遍历GC root(即采用深度优先)复制存活对象,对于已经复制过的标记其COPIED字段。复制过的对象将在From的对象的forwarding记录To中该对象地址,以便于其余引用了该对象的引用进行修改。分配对...原创 2019-09-09 13:37:43 · 128 阅读 · 0 评论 -
JVM知识体系总结
JVM位置jvm 是运行在操作系统之上,本身和硬件是没有直接的交互关系。. 类加载器ClassLoader负责加载class文件,class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定Native Interface本地接口Java语言本身不能对操作系统底层进行访问和操作,但是可以...原创 2019-09-09 12:57:16 · 191 阅读 · 0 评论 -
StringBuffer与StringBuilder的区别
StringBuffer与StringBuilder的线程安全性问题StringBuffer和StringBuilder可以算是双胞胎了,这两者的方法没有很大区别。但在线程安全性方面,StringBuffer允许多线程进行字符操作。这是因为在源代码中StringBuffer的很多方法都被关键字synchronized 修饰了,而StringBuilder没有。有多线程编程经验的程序员应...原创 2019-09-07 09:03:59 · 102 阅读 · 0 评论