随笔分类 -  1_java base

摘要:EL表达式 ${pageContext.request.contextPath} 5.1 EL作用(替代 <%= %>) 语法: ${变量} 3.1 输出普通字符串: ${name} 3.2 输出对象属性: ${student.name} 注意: .name 相当于 .getName()方法 3.3 阅读全文
posted @ 2020-05-21 10:01 gaoshengjun 阅读(140) 评论(0) 推荐(0)
摘要:public class AugrumentDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); HashMap<Charact 阅读全文
posted @ 2020-05-09 15:39 gaoshengjun 阅读(301) 评论(0) 推荐(0)
摘要:import java.util.*; public class AugrumentDemo { public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); map.p 阅读全文
posted @ 2020-05-09 14:59 gaoshengjun 阅读(190) 评论(0) 推荐(0)
摘要:使用场景:自定义的数据类型存储到集合中时如果需要按照一定的顺序存储的话 就 需要实现Compareable接口重写 compareto方法定义排序规则, 不然就会按照添加的顺序进行默认存储 需要存储再集合中排序的自定义类Person public class Person implements Co 阅读全文
posted @ 2020-05-09 13:29 gaoshengjun 阅读(229) 评论(0) 推荐(0)
摘要:注意:自己定义的类用hashset存储时 一定要重写hashcode 和equals方法!!! 参见 java 集合重要概念 (== 和 equals 解读) linkedhashset(双链表加数组结构)与 hashset(单链表加数组存储结构)的区别是 linkedhashset是双链表结构 记 阅读全文
posted @ 2020-05-08 17:22 gaoshengjun 阅读(457) 评论(0) 推荐(0)
摘要:一、理解”==“的含义 在java中,主要有两个作用。 1、基础数据类型:比较的是他们的值是否相等,比如两个int类型的变量,比较的是变量的值是否一样。 2、引用数据类型:比较的是引用的地址是否相同,比如说新建了两个User对象,比较的是两个User的地址是否一样。 OK。到这就注意了,你会发现,我 阅读全文
posted @ 2020-05-08 11:23 gaoshengjun 阅读(286) 评论(0) 推荐(0)
摘要:import java.util.ArrayList; import java.util.Collections; import java.util.List; public class DouDiZhuDemo { public static void main(String[] args) { 阅读全文
posted @ 2020-05-07 17:05 gaoshengjun 阅读(217) 评论(0) 推荐(0)
摘要:1:泛型 泛型:可以理解为未知的数据类型 重点理解:类<T> 这个<T>就好比如 是 “类”的别名!!!!!! 1-1 使用泛型方式创建集合 创建集合是默认的类型为Object 弊端就是会出现想不到的异常 比如:一个object集合中 既放了狗 又放了 人 这个集合就不纯净了! List list 阅读全文
posted @ 2020-05-07 11:35 gaoshengjun 阅读(259) 评论(0) 推荐(0)
摘要:1:Collection集合 注意:集合与数组的区别之一 ,集合只能"" !!存储“对象”!! 数组可以存储基本类型 也可以存储对象。 集合 >转化为数组 toarray() 数组 >转化为集合 Arrays.aslist(); 1-1 java.util.collection中常用的方法! //迭 阅读全文
posted @ 2020-05-07 10:36 gaoshengjun 阅读(145) 评论(0) 推荐(0)
摘要:最简单的线程池的实现 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ThreadPoolDemo { public static void main(S 阅读全文
posted @ 2020-05-06 16:35 gaoshengjun 阅读(130) 评论(0) 推荐(0)
摘要:思路是创建两个字符串a和b,再创建两个线程A和B,让每个线程都用synchronized锁住字符串(A先锁a,再去锁b;B先锁b,再锁a),如果A锁住a,B锁住b,A就没办法锁住b,B也没办法锁住a,这时就陷入了死锁。 public class DeadLock { public static St 阅读全文
posted @ 2020-05-06 16:12 gaoshengjun 阅读(185) 评论(0) 推荐(0)
摘要:Sleep 和 wait sleep不会释放锁,而wait会释放锁; 使用区域不用,sleep是哪都能用,wait只能在同步方法或者同步代码块中。 sleep是Thread调用的, 而wait和notify方法必须是“锁对象”调用的!! 生产者 和 消费者 //实体类 public class Ba 阅读全文
posted @ 2020-05-06 15:57 gaoshengjun 阅读(178) 评论(0) 推荐(0)
摘要:1.线程的安全问题发生的条件 只有当线程访问了共享的数据时,才会发生线程的安全问题!!! 2.线程的同步代码块,同步方法(静态方法,普通方法) 同步代码块的锁:"为任意的一个字符串都可以锁” 同步方法(普通):锁对象就是 this (静态方法):锁对象就是本类的字节码.class对象 public 阅读全文
posted @ 2020-05-06 12:19 gaoshengjun 阅读(134) 评论(0) 推荐(0)
摘要:数据结构 栈 和 队列 的结构 数组的结构 String[] str1 = {1,2,3}; String[] str2 = {1,2,3,4}; str1 = str2 查询快(有索引),增删慢(每次都需要从新创建一个新的数组 因为数组的特性是一旦创建是不可以改变大小的)。 链表的结构 特点:查询 阅读全文
posted @ 2020-05-06 10:15 gaoshengjun 阅读(243) 评论(0) 推荐(0)
摘要:典型的代表 File 其实它代表的并不仅是一个文件,而是一个路径(path)、或者一个文件 1、构造方法File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。File(String parent,String child) 根据指定的父路径和 阅读全文
posted @ 2020-05-05 17:38 gaoshengjun 阅读(115) 评论(0) 推荐(0)
摘要:import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; //服务器端的代码 写 阅读全文
posted @ 2020-05-05 16:02 gaoshengjun 阅读(181) 评论(0) 推荐(0)