![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
文章平均质量分 55
Java基础
izaogao
我很懒,还没有添加简介。
展开
-
Java的NIO同步非阻塞IO编程原理总结心得
BIO与NIO的区别 BIO是同步阻塞的,比如当serverSocket监听是否有客户端请求连接时,若该对象没有监听到客户端连接,则一直将阻塞在那里。 NIO是同步非阻塞的,比如当serverSocket监听时,若该对象没有监听到客户端连接,则直接执行接下来的程序,不会阻塞在那里。 由以上的区别,我们又可以知道BIO必须是一个线程一个连接,否则将一直阻塞在那里,无法实现我们的功能。所以我们需要启用多个线程,才能管理多个连接。 而NIO则可以通过一个线程管理多个连接。 在介绍第二个区别之前,先介绍我们需要知道原创 2021-11-10 18:42:29 · 462 阅读 · 0 评论 -
java中equals和hashCode方法为什么总是需要重写?
java原创 2021-11-03 00:04:17 · 810 阅读 · 0 评论 -
优先队列【Java:PriorityQueue】
java原创 2021-09-09 16:53:07 · 116 阅读 · 0 评论 -
cmd运行javac命令报错: 错误: 找不到符号【已解决】
问题描述: 本想测试PriorityQueue是否可以单一元素重复存储,但遇到了如下情况: public class Test{ public static void main(String[] args){ PriorityQueue<Integer> queue=new PriorityQueue<Integer>(new Comparator<Integer>(){ public int compare(Integer m,Integer n){原创 2021-09-08 12:35:14 · 3806 阅读 · 0 评论 -
序列化与反序列化初步运用【java】
java原创 2021-07-12 17:20:29 · 55 阅读 · 0 评论 -
java实现 email发送
**第一步:添加依赖** <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.5.0-b01</version> </dependency> 第二步:编写代码 https://www.cnblogs.com/xmqa/p/8458300.原创 2021-07-05 17:01:46 · 152 阅读 · 0 评论 -
枚举
枚举内部实现外部调用 内部实现 说起枚举就会想起单例模式,通过私有化构造方法,在内部创建本类对象,并向外部提供接口。 如此外部就仅能访问那几个对象。此模式意在解决频繁创建对象导致程序运行效率降低或占用内存过多的问题。 public enum Test { LOW(1), MIDDLE(2), HIGH(3); Integer i; Test(Integer i) { this.i = i; } } //等价于 public class Test原创 2021-05-25 14:29:53 · 70 阅读 · 0 评论 -
反射
java灵魂反射-Class对象获取-Class对象作用-Class对象反射-应用领域 反射-Class对象 jvm在加载类时,会自动生成一个Class对象,该对象封装着该类的信息, 反射即获取Class对象。 获取-Class对象 1.User.class; 2.User user = new User(); user.class; 3.Class.forName("User");//此处有重载 作用-Class对象 通过Class对象可以在不创建类对象的情况下使用类。 换句话说,此时才算获得原创 2021-05-24 17:38:12 · 58 阅读 · 0 评论 -
JDBC的具体步骤
1.编写bean类 具有get/set方法,可序列化,且成员变量名与数据库对应的字段相同。 2.编写Utils类 数据库连接工具,减少代码量。 成员变量为private,方法为protected. 通过继承,Utils的子类就可以通过Utils的方法操作数据库。 1.读取连接数据库所需的配置信息、加载驱动 private static String driver; private static String url; private static String userName; private stati原创 2021-03-18 15:48:34 · 117 阅读 · 0 评论 -
数据库增删改查时,解决遇到date类型问题
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class Test01 { public static void main(String[] args) throws ParseException { dateParse(); } /** * 测试日期原创 2021-03-18 12:04:27 · 293 阅读 · 0 评论 -
JSON
json知识小结GsonFastJson遇到的小问题 两种方式可以给JSON解析,一种是使用谷歌的Gson,另一种是使用阿里的FastJson。 下面介绍这两种方式的代码步骤: Gson //将对象转换为Json字符串 //1.先new一个Gson对象 Gson gson = new Gson(); //2.调用该对象的toJson方法就可以返回一个json格式的字符串 Person p = new Person("张三",00); String s = gson.toJson(p);//参数是要转成J原创 2021-03-14 18:26:48 · 67 阅读 · 2 评论 -
java 线程的基本知识整理
这里写目录标题一级目录二级目录三级目录 一级目录 二级目录 三级目录原创 2021-03-12 15:58:41 · 125 阅读 · 1 评论 -
java 字节|字符 输入|输出流
java 输入流 和 输出流 简单梳理输入流InputStreamFileInputStreamReaderFileReader输出流OutputStreamFileOutputStreamWriterFileWriter 输入流 输入流分为字节输入流和字符输入流,为什么会有字符输入流,原因在于当使用字节输入流读取字符时,极有可能出现字符乱码,而采用字符输入流读取字符,由于它是以字符为单位,不会出现乱码的情况 InputStream 字节输入流,顶级父类。它只是一个接口,需要有个类去实现它,这个类就是Fil原创 2021-03-11 17:41:01 · 237 阅读 · 1 评论 -
面向对象简单整理
java面向对象简单梳理 理解面向对象,先要从三块内存说起,栈、堆、方法区。之后是:权限修饰符、封装、构造方法、方法的重载、关键字、静态变量、常量、抽象类、接口,子类对父类的重写、最后是多态。 栈 当我们定义一个对象,且还没有通过new给它创建对象所需内存时,会将它放入栈中。 首先我们编写一个普通的类Store。 class Store { } 然后我们通过这个类创建一个对象。 class City { Store s; } 这时,在栈里,就会有一个s,它代表一个Store引用,因为目前没有给它实例化原创 2021-03-05 15:42:33 · 83 阅读 · 3 评论 -
Java HashSet为什么有时是有序的?
Java HashSet为什么有时是有序的? Set不保证有序,但也不是保证无序。 Set本质上是Map的键的集合。它在源码中的add方法如下: public boolean add(E e) { //它调用了map的put方法,它的value统一是PERSENT. return this.map.put(e, PRESENT) == null; } 接下来看看Map中的put方法: public V put(K key, V value) {原创 2021-03-07 14:07:46 · 460 阅读 · 1 评论