- 博客(14)
- 收藏
- 关注
原创 单例设计模式&动态代理
Google首席Java架构师、(Effective Java》 一书作者Java集合框架的开创者Joshua Bloch在Effective Java一书中提到。在很多优秀的开源代码中,我们经常可以看到使用枚举方式来实现的单例模式类。在类中定义一个类变量用于存储对象(注意:此时只定义,不创建)提供一个类方法,在方法中创建并返回对象(要保证只创建一次)直接在枚举中提供一个枚举项就可以实现单例。在类中自己创建一个对象,并赋值到一个变量。定义一个静态方法,返回自己创建的这个对象。懒汉式(第一次获取时创建对象)
2024-09-14 09:54:04
606
原创 单元测试&反射&注解
... parameterTypes) 获取类的某个成员方法(只要存在就能拿到)public Field getField(String name) 获取类的某个公共成员变量(只能获取public修饰的)>[] getConstructors() 获取所有的公共构造器(只能获取public修饰的)public Field[] getFields() 获取类的所有公共成员变量(只能获取public修饰的)Method[] getMethods() 获取类的全部公共成员方法(只能获取public修饰的)
2024-09-12 20:12:35
2045
原创 网络编程
2.创建DatagramPacket对象接收数据(数据包对象)---->韭菜盘子 3. 使用3.DatagramSocket对象的receive方法,传入DatagramPacket对象 ---->开始接收韭菜。3. 使用DatagramSocket对象的receive方法,传入DatagramPacket对象 ---->开始接收韭菜。3. 使用DatagramSocket对象的send方法,传入DatagramPacket对象---->开始抛出韭菜。
2024-09-10 20:16:09
745
原创 多线程
ExecutorService newFixedThreadPool(int nThreads) 创建固定线程数量的线程池,如果某个线程因为执行异常而结束,那么线程池会补充一个新线程替代它。ExecutorService newSingleThreadExecutor() 创建只有一个线程的线程池对象,如果该线程出现异常而结束,那么线程池会补充一个新线程。List shutdownNow() 立刻关闭线程池,停止正在执行的任务,并返回队列中未执行的任务。
2024-09-09 21:46:13
783
原创 配置文件&日志&多线程
public Set<String> stringPropertyNames() 获取全部键的集合(其实就是ketSet方法的效果)public Thread(Runnable r, String name) 封装Runnable对象成为线程对象,并指定线程名称。public String getProperty(String key) 根据键获取值(其实就是get方法的效果)public static void sleep(long time) 让当前执行的线程休眠多少毫秒后,再继续执行。
2024-09-09 21:14:59
639
原创 IO-字符流&其他流
public final void writeDouble(Double v) throws IOException 将double类型的数据写入基础的字节输出流。public BufferedWriter(Writer r) 把低级的字符输出流包装成一个高级的缓冲字符输出流,从而提高字符输出流写数据的性能。public final void writeByte(int v) throws IOException 将byte类型的数据写入基础的字节输出流。
2024-09-06 21:25:49
856
原创 集合-递归,IO-文件&字节流
public int read(byte[] buffer) 每次用一个字节数组去读取,返回字节数组读取了多少个字节,如果发现没有数据可读会返回-1.byte[] getBytes(String charsetName) 使用指定的字符集将该String编码为一系列字节,将结果存储到新的字节数组中。String(byte[] bytes, String charsetName) 通过指定的字符集解码指定的字节数组来构造新的String。
2024-09-05 20:02:10
760
原创 集合-Map&Stream
(排序、过滤、去重等等) (收集、打印、统计)(排序、过滤、去重等等) (收集、打印、统计)static <T> void sort(List集合,比较器) List集合进行比较器排序。---->获取Stream流---->对流中的数据进行各种操作---->结果获取。---->获取Stream流---->对流中的数据进行各种操作---->结果获取。static <T> Stream<T> concat(Stream a,Stream b) 合并流。super T> c) 按照规则排序。
2024-09-03 23:16:04
934
原创 集合-Collection&List&Set
由于增强for循环遍历集合就是迭代器遍历集合的简化写法,因此,使用增强for循环遍历集合,又在同时删除集合中的数据时,程序也会出现并发修改异常的错误。E next() 返回当前位置的元素,并将送代器后移一位(如果没有元素可以取出了还继续取,会报NoSuchElementException)E remove(int index) 删除指定索引处的元素,返回被删除的元素 (一般不接收)E set(int index,E e) 修改指定索引处的元素,返回被修改的元素(一般不接收)
2024-09-02 23:18:29
1021
原创 面向对象-异常&Lambda&算法&正则
如果某个Lambda只是调用一个实例方法,并且前面参数列表中第一个参数作为主调,后面的参数作为入参,即可使用 类型::方法。在Java的方法调用中,如果一个方法中出现了异常,本方法自己不处理,默认是会抛给调用方法去处理的。Java无法为这个世界上全部的问题都提供异常类来代表, 如果以后我们自己写的代码中的某种问题,Java无法为这个世界上全部的问题都提供异常类来代表,如果以后我们自己写的代码中的某种问题,此时要注意的是,如果发生的是非运行时异常,需要在方法上明确使用throws关键字声明抛出。
2024-09-02 18:04:24
1968
原创 面向对象-常用API&时间&Arrays
public static DateTimeFormatter ofPattern(时间格式) 获取格式化器对象。
2024-08-30 23:12:43
1729
原创 面相对象-内部类&泛型&常用API
1、枚举类的第一行只能罗列一些名称,且默认都是常量,每个常量记住的就是枚举类的一个对象 2、枚举类的构造器都是私有的(自己提供也只能是私有的),因此枚举类对外不能创建对象。场景:当一个类的内部,包含了一个完整的事物,且这个事物没有必要单独设计,就可以把这个事物设计成内部类。3.如果内部类和外部类出现了重名的成员,可以通过(外部类名.this.xxx)强行访问外部类的成员。内部类是类中五大成分之一(成员变量,方法,构造器,代码块,内部类)2.成员内部类中的实例方法,可以直接访问外部类的实例成员,静态成员。
2024-08-29 21:38:21
895
原创 面向对象-多态&抽象类&接口
Java提供了一个关键字interface,用这个关键字可以定义一个特殊的结构:接口定义格式public interface 接口名{成员变量(接口中的成员变量都是常量,默认是被public static final修饰的)成员方法(接口中的成员方法都是抽象方法,默认是被public abstract修饰的)注意:接口中不能有构造方法和代码块注意事项接口不能直接创建对象接口是用来被类实现(implements)的,实现接口的类称为实现类。
2024-08-28 17:25:15
1083
1
原创 面向对象-静态&继承
Java中提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立起父子关系B类:子类(派生类)A类:父类(基类或者超类)特点子类能继承父类的非私有成员变量和方法子类内部可以使用父类的非私有变量和方法继承体系下类对象的创建:子类的对象是由子类和父类共同完成的//继承下对象的创建: 子类的对象是由子类和父类共同完成的b.print1();b.print3();/*父类*/class A {//公有成员变量和方法。
2024-08-28 17:23:25
820
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅