摘要:
正则表达式: 判断一个字符串是不是都是数字,普通方法 public class Demo { public static void main(String[] args) { String str = "42a3432"; char[] chars = str.toCharArray(); bool 阅读全文
摘要:
自定义泛型: 泛型只会在编译器存在,在运行期,会被擦除 泛型在类上定义,所以new一个对象的时候指定泛型类型,所以泛型必须和对象有关,和静态方法没有关系 public class Demo { public static void main(String[] args){ Node<String> 阅读全文
摘要:
代理 作用 功能增强 控制访问 静态代理 代理对象已经存在 动态代理 代理对象依靠反射创建 面向切面编程: 通过动态代理+加配置文件 目的解耦 给主逻辑添加一些修饰功能,但是不在主逻辑代码中进行修改,有点类似python中的装饰器,调用方法还是是通过接口的那个类来调用: import java.be 阅读全文
摘要:
Beanutils 工具类的下载 使用 应用的时候还需要一个logging包http://commons.apache.org/logging/ 将 commons-beanutils-1.9.3.jar 添加到工程目录下,并添加依赖 阅读全文
摘要:
前期准备 1、下载 2、将依赖包添加到工程目录下(在工程目录下创建libs(directory目录)) 3、将 slf4j-api-1.7.26.jar 和 mina-core-2.0.21.jar 依赖包添加到libs目录下 4、给这两个文件和工程绑定关系,方法:选中两个文件,右击,选择 Add 阅读全文
摘要:
简单使用 使用java URL下载资源 如果出现:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provi 阅读全文
摘要:
任务定时调度 简单任务调度(Timer类) public static void main(String[] args) { Timer timer = new Timer(); //1秒后执行run(),只执行一次 // timer.schedule(new TimerTask() { // @O 阅读全文
摘要:
情况说明 比如下面的代码,会一直处于堵塞状态。 修改代码 按道理in.read(),最后一次读取数据的时候应该会返回-1,但是却堵塞了 原因在于一个服务不知道什么时候这个数据有没有接受完毕,但服务没有读取到结束标志的时候,就会出现一直堵塞,等你的数据到来 C/S结构 解决方式1: 解决方式2:发送数 阅读全文
摘要:
下面的案例是C/S结构,既编写客户端有编写服务端而且没有用到http协议 对于B/S结构,我们只需要编写服务器,不需要写客户端。 服务端和单客户端通信 注意事项:如果服务端或者客户端采用read() 一个字节这种读取数据,只要另一方没有关闭连接,read是永远读取不到-1,会陷入死循环中; 解决方法 阅读全文
摘要:
线程的5种状态(生命周期) 新生: Thread a = new Thread(()->{}); 就绪:调用start(),阻塞事件解除,yield(让出本次cpu),jvm自动切换cpu,这4四种方式都会导致线程处于就绪转态,等待cpu重新来调度 运行:就绪的线程被cpu调用,有系统来控制 阻塞: 阅读全文