java基础
文章平均质量分 54
java基础知识点
lemon20120331
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java 四种引用类型
这就一个强引用类型。他的特点就是不会被GC回收,那怕jvm报出OOM异常.也不会被回收, 如果想要GC回收到这个强引用的话,需要在代码中将这个对象赋值为null,这样GC回收器进行垃圾回收时才会把这个强引用进行垃圾回收,例如。弱引用是用WeakReference进行描述.当gc回收器进行垃圾回收时,不管该引用有没有被使用,都会被直接回收。虚引用是PhantomReference进行描述的,当gc回收器进行垃圾回收时被回收,软引用是用SoftReference进行描述的,指的是有用但是非必要的对象,当。原创 2022-10-01 16:21:35 · 369 阅读 · 1 评论 -
Synchronized使用
简介 实现线程同步,让多个线程排队依次获取某个资源,保证数据不会出错。 思考 synchronized 到底锁定是什么元素? 修饰方法 静态方法,锁的是类 非静态方法,锁的是调用方法的对象 修饰代码块.锁定的是传入的对象 == 使用sleep()方法是为了更好的查看执行顺序 == 示例 修饰非静态方法 没有加synchronized关键字修饰的 public class Test { public static void main(String[] args) { Te原创 2021-03-23 22:21:45 · 114 阅读 · 0 评论 -
代理模式
代理模式 代理模式是面向对象编程中比较常见的设计模式。 静态代理 优点:可以在不修改被代理类的源码的基础上可以最被代理类的方法进行附加和增强,前提是被代理类和代理类必须实现同一个接口或者继承同一个类 缺点:静态代理只可以对一个主题接口进行代理,如果主题接口不同即使方法相同,也是需要创建两个代理类 我们需要为每一个服务创建一个代理类,工作量太大,不易管理,同时接口一旦发生变化,则代理类也需要发生变化 代理类无法访问被代理类独特的方法,但是一个代理类可以代理同个主题接口下的多个代理 所有的代理类每次原创 2020-09-15 23:00:51 · 228 阅读 · 0 评论 -
不使用集合达成数组去重
方法一: 就是创建一个和arr长度一样的数组tempArr, 然后遍历arr中的元素,对每个元素判断是否在tempArr出现过, 如果出现过,那么就不放到新数组里面,也就是不做处理; 如果没有出现过,那么就把它放到新的数组里面 这种方法数组原来的相对顺序可以保证 public static void main(String[] args) { int[] arr = {9, 10, 6, 6, 1, 9, 3, 5, 6, 4}; int[] fun = fun(arr)原创 2020-06-29 11:48:01 · 480 阅读 · 1 评论 -
序列化流
1.什么是序列化流 序列化流,就是操作对象的流 分类: 序列化流: 对象的输出流,写对象 反序列化流: 对象的输入流,读对象 2.ObjectOutputStream的介绍和使用 对象的字节输出流,写对象 构造方法 public ObjectOutputStream(OutputStream out); 序列化操作的前提 被序列化的那个类必须实现java.io.Serializable接口,开启序列化功能 根接口没有任何方法,这种接口我们称为标记接口!! 序列化操作 public原创 2020-06-28 19:55:58 · 305 阅读 · 0 评论 -
转换流
1.编码和解码 编码: 把字符 --转成–> 对应的码值 比如: a —> 0110 0001 解码: 把码值 --解析–> 对应的字符 比如: 0110 0010 —> b 2.字符编码 什么是字符编码: 一套规则,字符和其码值之间对应的规则 比如: 字符a —> 97 字符A —> 65 字符0 —> 48 3.字符集 什么是字符集: 是指一个系统上支持的所有字符的集合,包括文字,文字、标点符号、图形符号、数字等 常见的字符集和常见的字符编码有原创 2020-06-28 19:34:41 · 236 阅读 · 1 评论 -
缓冲流
1.缓冲流的介绍 缓冲流也称为高效流,对普通流的性能方面增强(方法上基本和普通流是一模一样的) ##### 2.缓冲流的分类 字节输出流: OutputStream —> BufferedOutputStream 缓冲字节输出流 字节输入流: InputStream —> BufferedInputStream 缓冲字节输入流 字符输出流: Writer —> BufferedWriter 缓冲字符输出流 字符输入流: Reader —> Bu原创 2020-06-28 19:24:16 · 161 阅读 · 0 评论 -
IDEA启动项目报编码错误
报错1:XML Parser Error on line 1: 前言中不允许有内容。 这种情况一般是XML文件的格式问题 解决方法: 把报错的那个XML文件,用Notepad++记事本打开后将格式修改为ANSI,然后进行保存就可以了。 报错2:Error:(1, 1) java: 非法字符: ‘\ufeff’ 报错信息如下: Error:(1, 1) java: 非法字符: '\ufeff' Error:(1, 10) java: 需要class, interface或enum 解决方法: 方法一:原创 2020-06-27 17:34:59 · 1358 阅读 · 0 评论 -
Properties类和 ResourceBundle工具类
Propertie类 1.Propertie类的介绍 Properties 类表示了一个持久的属性集! 什么是集: 它是一个集合 什么是属性集: 其他就是键值对,本质就是一个Map集合 什么是持久的: Properties类具有和硬盘交互的方法 2.构造方法 public Properties(); 创建一个空属性的集合 public class PropertiesDemo01 { public static void main(String[] args) { //1.创原创 2020-06-27 17:23:27 · 231 阅读 · 0 评论 -
IO流的异常处理
1.JDK7之前的标准IO处理 /** * JDK7之前的处理方式 */ public static void tryCatch01(){ FileReader fr = null; try { fr = new FileReader("1.txt"); int ch = fr.read(); }catch (IOException ie){ ie.printStackTrace(); }finally {原创 2020-06-27 17:15:41 · 195 阅读 · 0 评论 -
字符流
1.为什么要用字符流 因为使用字节流操作文字时容易出现乱码问题 所以使用字符流读取中文,字符流以字符为单位操作数据,这样就可以解决中文乱码问题 2.字符输入流 顶层父类: Reader(抽象类) 共性方法: public void close();//释放资源 public int read();//一次读一个字符 public int read(char[] chs);//一次读取一堆字符,实际读取的字符个数 3.FileReader类的使用 文件的字符输入流: 以字符为单位从文件中读取数据原创 2020-06-27 17:14:31 · 160 阅读 · 0 评论 -
IO流
1.什么是IO流 流: 一种比喻.把数据传输的过程比喻成流 I: Input 输入流 O: Output 输出流 2.IO流的分类 a.根据流的流向: 输入流 输出流 b.根类流操作的数据类型: 字节流 字符流 3.Java中IO的四大流 字节输出流: OutputStream(抽象类) 字节输入流: InputStream(抽象类) 字符输出流: Writer(抽象类) 字符输入流: Reader(抽象类) Java中所有的流都是以上四种的某一种的子类,并且所有流的命名是非常规范: 流原创 2020-06-26 19:27:24 · 205 阅读 · 0 评论 -
人用迭代 神用递归
1.什么是递归 所谓的递归是指,在方法中调用方法自己 public class RecursionDemo { public static void main(String[] args) { //调用方法 show(); } public static void show(){ System.out.println("show...."); show(); } } 注意: 无限递归肯定会出错! Stac原创 2020-06-26 19:15:47 · 362 阅读 · 0 评论 -
File
1.File类的作用 可以用来表示磁盘上的某个文件或者某个文件夹 2.File类的构造 public File(String pathname);以指定的路径创建File对象 public File(String parent,String child);以指定父路径和子路径创建File对象 public File(File parent,String child);以指定父File对象和子路径创建File对象 public class FileDemo01 { public static原创 2020-06-26 19:08:10 · 139 阅读 · 0 评论 -
if else与switch的区别
适用范围 if /else if if 语句适用范围比较广,只要是 boolean 表达式都可以用 if 判断 switch 在JDK1.5之前,switch循环只支持byte short char int四种数据类型. JDK1.5 在switch循环中增加了枚举类与byte short char int的包装类------》对四个包装类的支持是因为java编译器在底层手动进行拆箱,而对枚举类...原创 2020-02-08 20:40:38 · 627 阅读 · 0 评论
分享