快速手写快排 问题描述 [[1,2],[2,3],[4,5],[7,9],[0,3],[0,1],[1,1]] 这是坐标输入,请按照离原点的距离对坐标进行排序,要求使用手写的快速排序算法 划分划分业务:distance()计算距离,swap()负责交换位置,sort()负责对应区间的快速排序的调度(递归) 代码12345678910111213141516171819202122232425262728293 2021-03-11 算法 #数据结构与算法
事务的特性以及隔离级别 事务具有哪些特性ACID: 原子性(Atomicity) 事务是数据库的逻辑工作单位,事务中包含的各个操作要么都完成,要么都不完成 一致性(Consistency) 事务一致性是指数据库中的数据在事务操作前后都必须满足业务规则约束,比如a转账给b,那么转账前后,ab账户的总金额应该是一致的 隔离性(Isolation) 一个事务的执行不能被其它事务干扰。即一个事务内部的操作及使用的数据对其它 2020-10-07 Mysql #数据库
java中强软弱虚引用 一个自定义类123456public class M { @Override protected void finalize() throws Throwable { System.out.println("finalize"); }} finalize() 方法,在该对象要被垃圾回收的时候被调用 强引用 2020-10-07 Java #编程语言
ThreadLocal线程封闭 什么叫线程安全&从哪里考虑什么叫线程安全&从哪里考虑 线程封闭线程封闭可以保证线程安全,ThreadLocal这个类可以实现线程封闭 实例1线程不封闭123456789101112131415161718192021222324252627public class Demo01ThreadLocal { volatile static Person p = new 2020-10-06 Java #编程语言
什么叫线程安全&从哪里考虑 线程安全的对象一个比较专业的描述是: 当多个线程访问一个对象时,如果不用进行额外的同步控制或其它的协调操作,调用这个对象的行为都可以获得正确的结果,我们就说这个对象是线程安全的。 也就是这个对象的内部采用锁机制或其他的方式保证了多线程同时访问时的数据的安全 什么时候需要考虑线程的安全这里共有三点: 多线程的环境下 多个线程共用一个对象 这个对象是有状态的 (属性是可变的) 线程安全的解决方 2020-10-06 Java #提纲挈领
实现Callable接口创建线程 Callable|Runnable注意: java对线程的抽象只有Thread类,只有创建Thread类对象或者其子类对象才能实现线程的创建,所以本质上讲java中只有一种创建线程的方法。 但是从创建线程的形式上讲,继承Thread类,实现Runnable接口或者实现Callable接口等等这些方式可以实现线程的创建,它们之间一些差别,适用于不同的场景。 实现Runnable接口和实现Calla 2020-10-06 Java #编程语言
java中串池和小整数对象池 ==和equals的区别 == 多用来比较基本类型的值是否相等,如果是引用类型的数据,使用==就是在比较它们的地址是否相同 equals方法是Object类提供得,由于其是所有引用类型的祖先,所以所有引用类型都具有equals方法 equals方法默认是返回两个对象的地址的比较结果,即 return o1 == o2; 2020-10-04 Java #探赜索隐
字符串匹配KMP算法 KMP算法KMP算法主要维护了一个最长前后缀的表,当待匹配串和匹配串的指针一起向前退的时候,遇到不相等的字符,待匹配串不用再回到起始位置的下一个位置重新匹配(暴力匹配),只需要查表更改匹配串的匹配指针继续向下走即可,从而将n*m的复杂度降低为接近n的复杂度。 实际代码123456789101112131415161718192021222324252627282930313233343536373 2020-10-04 算法 #数据结构与算法
java网络编程_文件上传 服务端123456789101112131415161718192021222324252627public class FileUploadServer { public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(8 2020-10-02 Java #编程语言
java转换流 FileReader读取的问题 FileReader是用来读取字符文件的便捷类。此类的构造方法夹定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在FileInputStream上构造一个InputStreamReader. FileWriter的问题FileWriter也是类似 转换流具体案例将一个Utf-8编码的文件复制成Gbk编码的文件 12345678910111213 2020-10-02 Java #编程语言