随笔分类 - JavaSE
摘要:1.导入依赖 <dependency> <groupId>com.hynnet</groupId> <artifactId>jacob</artifactId> <version>1.18</version> </dependency> 2.下载 jacob.dll 文件,将 dll 拷贝到 jdk
阅读全文
摘要:一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了 提高代码可复用性、可维护性、可读性、稳健性以及安全性的 。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件
阅读全文
摘要:1. 概述 在 Java8 之前,我们通常是通过 for 循环或者 Iterator 迭代来重新排序合并数据 ,又或者通过 重新定义 Collections.sorts 的 Comparator 方法 来实现,这两种方式对于大数据量系统来说,效率并不是很理想。 Java8 中添加了一个新的接口类 S
阅读全文
摘要:1. 概述 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。 提到函数式接口肯定少不了 Lambda 表达式,函数式接口可以隐式的转换为 Lambda 表达式。 我们可以选择向各种各样的方法和构造函数传递 Lambda 表达式,包括
阅读全文
摘要:最原始的方式,当我们要并行的或者异步的执行一个任务的时候,我们会直接使用启动一个线程的方式,如下面所示: new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub 这里放你
阅读全文
摘要:1. 重写(Overriding) 和 重载(Overloading) 方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。 ① 重载是一个类中定义了多个方法名相同,而他们的参数的数量不
阅读全文
摘要:一、获取当前时间的时间戳 1)时间进制 1秒 = 1000毫秒 1秒 = 1000000微秒(1毫秒=1000微秒) 1秒 = 1000000000纳秒(1微秒=1000纳秒)( 1毫秒=1000000纳秒) 要获得秒级时间戳,可以使用毫秒级时间戳除以1000即可 2)获取毫秒时间戳(13位) -
阅读全文
摘要:如果你想复制一个简单变量。很简单: int x = 7; int y = x; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short,float,double.long)同样适用于该类情况。 但是如果你复制的是一个对象,情况就有些复杂了。 当我说我是一个begin
阅读全文
摘要:一、工厂方法模式(Factory Method) 工厂方法模式分为三种: 1)普通工厂模式 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图: 举例如下:(我们举一个发送邮件和短信的例子) public interface Sender { public void Send
阅读全文
摘要:偶尔看到的一个关于 try()...catch() 的用法,通常我们使用 try...catch() 捕获异常的,如果遇到类似IO流的处理,要在finally部分关闭IO流,当然这个是JDK1.7之前的写法了; 在JDK7优化后的 try-with-resource 语句,该语句确保了每个资源,在语
阅读全文
摘要:1. 中断线程的三种方式 1)定于循环结束标记 因为线程运行代码一般都是循环,只要控制循环即可,任务中都会有循环结构,只要控制住循环就可以结束任务。 控制循环通常就用定义标记来完成。 2)run方法结束 3)使用Interrupt(中断)方法 该方法是结束线程的冻结状态,使线程回到运行状态来。 方法
阅读全文
摘要:一、线程同步 1)模拟多个用户同时从银行账户里面取钱 ● Account 类:银行账户类,里面有一些账户的基本信息,以及操作账户信息的方法 // 模拟银行账户 class Account { private String accountNo;// 账号 private double balance;
阅读全文
摘要:一、线程概述 线程就是进程中一个负责程序执行的控制单元(执行路径),每一个线程都有自己运行的内容,这个内容可以称之为线程要执行的任务; 一个进程中可以多执行路径,称之为多线程。一个进程当中至少有一个线程,开启多个线程是为了同时运行多部分代码; 二、线程与进程 1)进程 正在进行中的程序(直译)。几乎
阅读全文
摘要:一、正则表达式简介 正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 1)什么是正则表达式 正则表达式(Regluar Expressions)又称规则表达式,这个概念最初是由Unix中的工具软件(如sed 和
阅读全文
摘要:一、什么是反射机制 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。简单来说,就是Java对每一个类和类中的所有成员都进行了封装,这样每个类都有一个与之对应的
阅读全文
摘要:1. Properties Properties集合是双列集合 该集合中的键和值都是字符串类型 集合中的数据可以保存到流中或者从流中获取 通常该集合操作以键值对形式存在的配置文件。 1)获取输入流方法 FileInputStream fis = new FileInputStream(propert
阅读全文
摘要:1. 管道流 ● 管道流仅用于多个线程之间传递信息,若用在同一个线程中可能会造成死锁; ● 管道流的输入输出是成对的,一个输出只能对应一个输入流,使用构造函数或者connect函数进行连接; ● 一对管道流包含一个缓冲区,默认值为1024个字节,若要改变缓冲区大小,可以使用带有参数的构造函数; ●
阅读全文
摘要:1. RandomAccessFile RandomAccessFile(radom随机access访问file文件),不是IO体系中的子类 随机访问文件,具备读写的功能。 一般多线程下载、断点下载都可以运用此随机流 ● 特点: 该对象即能读又能写 内部维护了一个byte数组,并通过指针可以操作数组
阅读全文
摘要:操作字节数组的流对象: ByteArrayInputStream:在构造的时候,需要接收数据源,而且数据源是一个字节数组。 ByteArrayOutputStream:在构造的时候,不用定义数据目的,因为该对象内部已经封装了可变长度的字节数组。这就是数据目的地 close():因为这两个流对象操作的
阅读全文
摘要:数据流可以读取基本数据类型的数据 ● 数据输入流:DataInputStream(InputStream in) ● 数据输出流:DataOutputStream(OutputStream out) 基本类型:byte、short、int、long、double、float、boolean pack
阅读全文

浙公网安备 33010602011771号