随笔分类 - Java学习
摘要:public static void main(String[] args) throws IOException, InterruptedException { WatchService watchService = FileSystems.getDefault().newWatchService
阅读全文
摘要:通过对文件的拷贝来对比传统IO流和NIO流 将底层流封装成处理流以后进行分段读取。 /*将本身源代码拷贝到TXT文件*/ public class TraditionIO { public static void main(String[] args) { try(BufferedReader br
阅读全文
摘要:import java.io.FileReader; import java.io.PushbackReader; public class PushbackTest { public static void main(String[] args) { try(PushbackReader pr =
阅读全文
摘要:Comparable接口提供比较对象大小功能,实现了此接口的类的对象比较大小将通过接口提供的compareTo方法。 此方法的返回int类型,分三种情况。 返回正数,当前对象大于目标对象 返回负数,当前对象小于目标对象 返回0,当前对象等于目标对象 TreeSet提供了将对象排序功能(默认升序排序)
阅读全文
摘要:Java中的闭包与回调可以通过成员内部类来实现。 简单的来说闭包就是返回一个内部类对象,这个内部类对象包含了外部类对象的信息(因为一个内部类对象定依托于一个外部类对象)。 回调就是在闭包的基础上实现的,返回的内部类对象可以调用外部类中的方法。 例子:(不是很具有代表性) public class C
阅读全文
摘要:一、题目描述: 一道Java笔试题。将字符串按给定的字节数进行分割,输出分割后的字符串。要求汉字不能进行拆分,如“a中国”不能拆分成“a+中的一半”。 二、解题思路: 首先利用String类的substring函数逐一取出字符,然后可以通过将字符转换为字节数组,判断大小并累加至计数器,如满足条件则输
阅读全文
摘要:List Set Map
阅读全文
摘要:容器总体结构 Map存储键值对的数据结构是“数组+链表”的结构,结合了数组查询数据快和链表增删数据快的优点;用Entry[]存储键值对,Entry为类类型,类里面有四个属性:hash、K、V、next,分别存储哈希值、键对象、值对象、下一个Entry对象引用。 Entry底层源码 Entry对象存储
阅读全文
摘要:Java中很重要的一个知识点就是所有类都默认继承Object类,所以创建的每一个类都继承了Object的方法,所有类都可以向上转型为Object类对象,当然可以重写Object里面的常用方法,有时候重写是十分必要的,比如重写Object类的equals方法和toString方法;原始equals方法
阅读全文
摘要:File类的基本用法 java.io.File类:代表文件和目录。在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到此类。 File类的常用构造方法:public File(String pathname) 以pathname为路径创建File对象,如果pathname是相对路径,则
阅读全文
摘要:String String变量是不可变的,源码里面用了final修饰。 StringBuilder线程不安全,但效率高,常用。 StringBuffer线程安全,但效率低。
阅读全文
摘要:包装类的基本概念: Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合中的操作等等。 为了解决这个不足,Java在设计类时为每个基本数据类型设
阅读全文
摘要:ReentrantLock 锁常用于保证程序的人为顺序执行。 写一个类模拟ReentrantLock类的功能 当一个线程不能得到一把锁时就会产生等待,等到其他线程释放锁后其将被唤醒,然后拿到所继续运行。 ReentrantLock的使用
阅读全文
摘要:在Java中,内部类包括:成员内部类(静态内部类、非静态内部类)、匿名内部类、局部内部类(几乎不用)。 1.成员内部类: 1.1非静态成员内部类 成员内部类(可以使用private、default、protected、public任意进行修饰。 非静态内部类必须寄存在一个外部类对象里。因此,如果有一
阅读全文
摘要:在Java多线程环境下ThreadLocal就像一家银行,每个线程就是银行里面的一个客户,每个客户独有一个保险箱来存放金钱,客户之间的金钱不影响。 每个线程都可以通过调用threadLocal.set()方法来设置自己独有的threadLocal值 每个线程都可以通过调用threadLocal.ge
阅读全文
摘要:转载至:https://blog.csdn.net/u012723673/article/details/80682208 关于volatile很重要的一点: 它保证了可见性,即其他线程对volatile的操作本线程可以马上得知。 不加volatile修饰会在子线程内死循环,加了volatile后主
阅读全文
摘要:Timer 本身就是一个线程,最主要的方法就是schedule()。 schedule()的参数介绍: schedule(TimerTask task, long delay) //延迟delay毫秒以后执行任务 schedule(TimerTask task, long delay, long p
阅读全文
摘要:Date Date类不常用,很多方法被废弃了,常用它的两个构造方法来new一个Date对象。 日期格式参照表 GregorianCalendar 打印可视化日历的一个简单例子:
阅读全文
摘要:信号灯法:以一个标志位来判断是否执行还是等待
阅读全文

浙公网安备 33010602011771号