
Java基础
ccityzh
重庆邮电大学
展开
-
JDK动态代理(接口的代理)
本文基于动态代理的基本思路,实现对接口的动态代理,使用接口函数完成你想完成的任务。其实主要是为了理解在使用mybatis的时候只有dao层接口函数,却可以在service层用来实现其配置文件中sql语句的功能,恍惚给人一种接口被执行的阴影。原创 2017-04-12 21:21:48 · 3268 阅读 · 2 评论 -
java回调函数
两种回调1、同一进程中,被回调方法所属类需要在调用‘调用回调方法’的类的方法时将自己传过去public class A{ public void methodA(){ methodB(this) } public void callback(){ }}public class B{ public void methodB(A...原创 2018-08-12 17:56:20 · 238 阅读 · 0 评论 -
poi生成excel时换行符(\n)只有鼠标双击才会生效,设置列宽度不生效
1、poi生成excel时换行符(\n)只有鼠标双击才会生效 解决:样式中打开自动换行style.setWrapText(true);2、设置列宽度不生效sheet.setDefaultColumnWidth((short) 20) 使用这个函数 sheet.setColumnWidth(i, 30 * 256);,在cell层次设置列宽3、同理,在row级别...原创 2018-08-04 16:04:05 · 8888 阅读 · 3 评论 -
java方法引用学习
package jdk18.method.reference;public class Student { private String name; private int score; public Student(){ } public Student(String name,int score){ this.name = na...原创 2018-06-24 19:39:00 · 198 阅读 · 0 评论 -
Java单元测试打桩-mockito,PowerMockito简单使用,模拟方法内new对象
0、需要的jar<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</sco原创 2018-04-28 23:29:11 · 21029 阅读 · 8 评论 -
java线程的一点感悟(sleep,wait,synchronized,时间片等)
志在以实例的方式描述线程中使用的一些容易混淆概念的方法。1、sleep()方法不释放锁public class SleepFunction { static final Object obj = new Object();public static void main(String[] args) { new Thread(new Runnable() { public void r...原创 2018-04-15 23:59:14 · 1878 阅读 · 0 评论 -
java搜索文件小程序(递归搜索文件)
起因:搜索电脑中一个视频文件,但不记得文件名了,windows搜索后缀名没搜到,所以想着打印出大于50M的所有文件public class SearchFile { private static void search(File file){ if(file.isDirectory()){//如果是目录 File[] files = file.lis...原创 2018-04-15 17:41:05 · 1028 阅读 · 0 评论 -
遍历Map的时候删除map中的元素,报异常Exception in thread "main" java.util.ConcurrentModificationException
简单的例子package collection;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public class TestRemoveMap { static Map<Strin...原创 2018-01-28 21:03:22 · 1258 阅读 · 0 评论 -
线程池ThreadPoolExecutor的submit方法
Future submit(Callable task); Future submit(Runnable task, T result); Future submit(Runnable task);三个重载方法,第一个很好理解,传入callable,本身call函数就有一个返回值,可以正常取得。第二个第三个就不清楚怎么可以取到返回值了,因为Runnabl原创 2018-01-27 17:04:49 · 13405 阅读 · 5 评论 -
Unable to invoke no-args constructor for interface.... Registering an InstanceCreator
Gson将json字符串转化成对象的时候报错分析:由于将要转化成的对象包含一个接口,无法将其实例化;可以由对象转化为json字符串是因为多态,可以知道接口具体对应的实例类。举例要实现json与对象转化的复杂java beanpublic class ComplexBean { private String a; private int b; private Address addr;原创 2018-01-18 14:23:56 · 12779 阅读 · 1 评论 -
手写JAVA NIO实现Socket通信及其过程中注意的问题
当然现在不需要自己手写NIO实现socket,都是在需要建立TCP/IP连接的程序中直接使用mina框架,或者netty框架, 后者使用的更多。本文仅仅是手写NIO,找一找学习NIO中遇到的问题,以及在调试的过程中学习对某些API的理解,文中只写了服务端,客户端用SocketTools这个工具充当,测试。原创 2017-07-26 13:33:54 · 2047 阅读 · 2 评论 -
Java分布式学习和总结
零、高并发系统构建原始—》服务集群分流—》数据库分库分表、读写分离—》redis缓存分读的压力—》mq分写的压力一、zookeeper高可用,读写 Failover,leader选举 可使用场景、项目中已使用场景 写数据提交策略 客户端代码原理二、Kafka 0、概念broker producer consumer partition,topic,分布式,高可用...原创 2019-09-22 23:31:06 · 425 阅读 · 0 评论