- 博客(21)
- 收藏
- 关注
原创 JavaGuide小记
JavaGuide小结1. 接口和抽象类的区别(1)除默认方法外的所有方法在接口中不能有实现(jdk1.8才有的default修饰的默认方法),而抽象类可以有非抽象的方法。(2)接口中除了static、final变量,不能有其他变量,而抽象类中则不一定。(3)一个类可以实现多个接口,但只能实现一个抽象类。接口自己本身可以通过extends关键字扩展多个接口。(4)接口方法默认修饰符是public,抽象方法可以有public、protected和default这些修饰符(抽象方法就是为了被重写所以不
2021-03-08 10:00:07
272
原创 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
剑指Offer编程题--输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示共三种方法(无解释): public int NumberOf3(int n) { int count=0; int temp = 1; while(temp!=0){ if((n&temp)!=0) count++;...
2019-09-23 19:40:13
332
转载 什么情况下用“+”运算符进行字符串连接比调用StringBuffer/StringBuilder 对象的append方法连接字符串性能更好?
https://blog.youkuaiyun.com/chang384915878/article/details/79535708
2019-08-29 10:32:48
360
转载 对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解
https://blog.youkuaiyun.com/puhaiyang/article/details/72284702
2019-08-25 11:16:59
160
原创 logback寻找配置文件的顺序
原文地址(1)使用logback.configurationFile环境变量的设置(2)使用classpath中的logback.groovy(3)使用classpath中的logback-test.xml(4)使用classpath中的logback.xml(5)查找com.qos.logback.classic.spi.Configurator接口实现类,调用实现类的con...
2019-08-20 08:57:21
235
原创 个人对JavaGuide上某些知识点做一个小结
JavaGuide是github上的一个五万星的项目,该项目包含java的大部分知识点和面试题链接:https://github.com/Snailclimb/JavaGuide1.finally块不会执行的四种情况 (1)finally语句的第一行发生异常(个人感觉其实第一行是执行了的,只是执行时发生了异常) (2)在前面的代码中用了System.exit(int)已退出...
2019-08-18 15:55:10
1277
转载 通过反射实现Arrays.copyOf(original, newLength)
通过这一个方法即可扩展任意的数组: 主要思想是通过反射获取到传入进来的数组类型,并新建一个长度为newLength的对象数组(该数组的类型与传入的数组类型是一样的),最后通过System.arraycopy()将传入的数组赋值给那个新建的数组并return该数组代码:public class TestReflect { public static void main(S...
2019-04-03 19:03:08
296
转载 使用反射机制分析类(代码)
打印一个类的全部信息,包括域,方法和构造器(代码如下)。public class PracticeReflect { //用来分析指定类的所有域的信息 public static void printFields(Class theClass) { Field[] fields=theClass.getDeclaredFields(); System.out.println(...
2019-04-01 15:54:15
144
转载 Integer中的小问题
首先看下代码,在心里想象一下运行结果:public class TestInteger { public static void main(String[] args) { Integer a=new Integer(127); Integer b=new Integer(127); Integer a1=127; Integer b1=127; Integer a2...
2019-03-31 20:25:09
243
转载 不同的对象可能有相同的hashcode(非自定义)
在Java中有HashCode的说法,以前以为HashCode是唯一的后来看了下String类里面的HashCode方法如下:public int hashCode() {int h = hash; // hash默认值为0 int len = count;// count是字符串的长度if (h == 0 && len > 0) {...
2019-03-31 18:42:14
576
转载 事务提交失败的回滚操作
Connection和Statment分别进行try-with-resource,然后在Statment的catch异常,catch住了之后,进行rollbackpublic class TestJDBC { public static void main(String[] args) { try { Class.forName("com.my...
2019-03-30 13:33:43
1787
转载 使用非原子性的自增和原子性的自增进行多线程测试。
结果截图如下:原因分析:因为非原子性的自增一共包括3个原子性操作(步骤1:取i的值 步骤 2:i+1 步骤3:把新的值赋予i),当多个线程对其进行操作时,如一个线程在步骤1取i 的值结束后,还没有来得及进行步骤2,另一个线程就对还没完成自增的i进行自增了,导致i的值经过这两个线程的自增操作后i的值只加1。源代码如下:public class Test1_5 { privat...
2019-03-29 16:30:26
263
转载 生产者消费者问题
1. 使用栈来存放数据 1.1 把栈改造为支持线程安全 1.2 把栈的边界操作进行处理,当栈里的数据是0的时候,访问pull的线程就会等待。 当栈里的数据是10的时候,访问push的线程就会等待2. 提供一个生产者(Producer)线程类,生产随机大写字符压入到堆栈3. 提供一个消费者(Consumer)线程类,从堆栈中弹出字符并打印到控制台4. 提供一个测试类...
2019-03-25 20:12:41
574
转载 Java中(2.0-1.1)输出不是0.9的问题
问题:System.out.println(2.0d-1.1d);输出结果为:0.8999999999999999跟据下面在这个例子来说明原因(其他情况类似):(1)System.out.println(0.01f+0.04d);输出结果为:0.04999999977648258(2)System.out.println(0.01f+0.04f);输出结果为:0.049999997...
2019-03-24 15:05:34
858
转载 自定义简单的栈MyStack
设计一个支持泛型的栈MyStack设计这个类的时候,在类的声明上,加上一个<T>,表示该类支持泛型。T是type的缩写,也可以使用任何其他的合法的变量,比如A,B,X都可以,但是一般约定成俗使用T,代表类型。public class MyStack<T> { LinkedList<T> values = new LinkedList&l...
2019-03-23 11:21:11
1175
转载 查找内容性能比较(使用与不使用HashMap)
方法一:不使用HashMap,而是使用ArrayList,然后通过for循环找出来,并统计花费的时间方法二:借助HashMap,找出结果,并统计花费的时间结果如下:源代码如下:import java.util.ArrayList;import java.util.HashMap;public class TestHashMap { public static void m...
2019-03-20 19:36:16
599
转载 比较二叉树排序,选择排序和冒泡排序的效率
先看下结果:代码如下:import java.util.ArrayList;public class Node { private Integer node;// 节点的值,即处于该节点的Hero对象 private Node leftNode;// 左子节点 private Node rightNode;// 右子节点 public void addNode(int...
2019-03-20 15:44:48
865
1
转载 拆分文件和合并文件
找到一个大于100k的文件,按照100k为单位,拆分成多个子文件,并且以编号作为文件名结束。public static void main(String[] args) throws FileNotFoundException, IOException { File f1=new File("F:/test/lol.exe");//待拆分文件的路径 FileInputStream f...
2019-03-16 20:34:17
867
转载 遍历子文件夹
遍历给定路径下的所有文件(包括子文件夹),并打印出最大值文件和最小值文件的相关信息,代码未优化,速度有点寒碜,16万个文件遍历完共花费60000ms-62000ms,测试环境:i7 6500处理器。import java.io.File;public class TestFile { private static int max=0;//记录最大文件的下标 private stati...
2019-03-15 11:15:32
279
转载 简单重写StringBuffer
经测试,append()char字符和两个有参构造函数比官方代码效率稍高,其他方法如append()String字符串,insert()等都比原方法的效率要稍低;capacity扩增的方式为capacity=(int)(capacity*1.5),注意,capacity乘的参数越大浪费的内存可能更大,但效率会有所回升,效率回升的原因我想有可能是value=new char[capacity]或Sy...
2019-03-13 16:34:13
534
2
转载 Java求质数的两种方法
以下是用java实现求质数的两种方法的代码,测试环境:i7 6500处理器试除法:(求一千万以内质数和需花费4s-5s)public class FindPrime1 { public static void main(String[] args) { long start = System.currentTimeMillis(); int n=10000000;//求n以内的...
2019-03-11 13:36:29
914
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅