- 博客(11)
- 收藏
- 关注
原创 快速排序
/** * 快速排序 * @param arr 进行快速排序的数组 * @param left 开始排序的位置 * @param right 结束排序的位置 */ public static void quickSort(int[] arr , int left ,int right){ //递归结束条件,当数组下标 >= 右边时不满足条件 //不能写成 == 因为,后面递归的时候,是 i+1 之...
2020-12-01 20:29:53
120
原创 添加过滤器之后tomcat发布失败
记录一个小细节当你创建一个过滤器包的时候,如果包名是这样:com.ddd.Filter大写的F那么不好意思,你可能想破头皮也不晓得为什么tomcat不能发布(确认web.xml配置无误)可以从图中看出啊,过滤器包的Filter 的 F 是大写的然后我尝试发布:发布异常,然后查看tomcat 日志发现设置的过滤器发生了ClassNotFoundException冷静检查之后,发现路径并没有设置错误,只是包名的首字母为大写解决方案将包名改成小写的 f 即可成功发布我猜测可能是tom
2020-10-17 12:49:26
1398
3
原创 HashMap集合,最详细底层源码分析及put ,get方法运行原理
HashMap集合非线程安全;HashMap集合继承关系,实现的接口有:public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { }HashMap集合继承了Map集合,实现了Map,Cloneable,Serializable接口从继承Map集合我们可以得出:HashMap集合是无序不可重复的存储方式为键值对的方式
2020-05-10 21:11:13
391
原创 死锁概述,怎样会构成一个死锁
死锁是多线程,不当的使用synchronized嵌套发生的情况每个对象的锁就一个,当两个线程去争夺这个锁时发生的情况因为执行synchronized语句体的时候,线程会获取对象的锁,此时这个锁只有等到synchronized语句体执行完才会释放这个锁。此时我们就想到,使用两个线程,去分别获取两个对象的锁,但要注意的是:获取的顺序必须相反,一个线程先获取对象1的锁,再获取对象2的锁,另一个...
2020-05-05 14:32:32
244
原创 ArrayList集合
ArrayList集合实现了LIst接口,List接口继承了Collection接口由于ArrayList实现了List而List继承了Collection所以,Collection中的方法在ArrayList中都能使用。因为底层是数组,这个集合也相对简单,由于数组查询效率高的优势,是的ArrayList集合实际开发中使用较多ArrayList集合的遍历有三种:1.普通有下标的for循环...
2020-05-04 20:34:20
127
原创 IO流完成文件夹及里面的文件Copy
通过输入源地址,和目标地址完成文件夹及里面文件的拷贝public static void main(String[] args) { copy("D:\\Temp","D:\\java\\123"); //第一个字符串为源,第二个字符串为目标地址 } /** *文件夹,或者文件的拷贝 * @param s copy resours ...
2020-05-03 11:42:47
174
原创 异常类的使用,作用,处理,自定义异常
异常类的作用是为了完善java程序的健壮性,适当地处理异常有利于程序的正常进行。异常在java中以类的方式存在,每个异常类都可创建对象,在发生异常jvm会自动new对象,并且将new的对象抛出,打印到控制台。总的来说异常类(exception)的子类有两大类:直接继承exception的是编译时异常继承exception的子类runTImeException是运行时的异常编译时异常是需要...
2020-04-28 21:48:58
860
原创 关于finally的一道面试题
直接上代码: public static void main(String[] args){ System.out.println(method()); } public static int method(){ int i = 10; try { return i; }finally ...
2020-04-25 16:17:16
165
原创 String and Integer and int 之间的转换
String与int的互转: int x = 100; String s = String.valueOf(x);//数据转换为字符串 String ss = "12345"; int xx = Integer.parseInt(ss);//字符串转换为数据int与Integer的互转: Integer y = 100;//自动装箱 Intege...
2020-04-24 17:43:38
174
原创 String类常用方法,每个方法的具体演示
String 的构造方法:String s = new String (byte[] arr);将byte数组转化为字符串String s = new String (byte[] arr,offest(起点), length);将byte数组的一部分转换为字符串 byte[] arr = {'a','b','c'}; String s = new String...
2020-04-22 17:59:30
222
原创 String s=new String("HelloWorld")与String s=“HelloWorld”的详细区别,及在内存图中的存储
先简单介绍一下字符串的创建过程:创建字符串常量时,先从字符串常量池中搜索有没有已有的字符串,如果有,则将新建的对象指向这个字符串常量地址,若没有,则新创建一个字符串常量,并让新建的对象指向它。我们先看一下代码,再介绍内存图public static void main(String[] args) { String s = new String("HelloWorld");...
2020-04-21 22:38:43
1596
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人