
J2EE
下个路口见_20
Keep coidng!Keep learning!
展开
-
Logback日志名和日志内容配置增加ip等信息
Logback日志名和日志内容配置增加ip等信息最近线上有个需求,将每个服务的多个实例打出的日志在日志名称和内容里增加ip信息,首先当然是先百度(Google)一下,看看实现方式。日志内容里增加ip信息创建一个类继承自ch.qos.logback.classic.pattern.ClassicConverter重写convert()方法,在该方法内返回ip信息public class...原创 2019-11-02 14:12:47 · 3661 阅读 · 1 评论 -
给ArrayList写个代理,实现方法过滤
public class ArraryListProxy { List list = new ArrayList(); public List getProxy(){ return (List)Proxy.newProxyInstance(ArrayList.class.getClassLoader(), ArrayList.class.getInterfaces(), ne...原创 2018-08-13 16:54:07 · 319 阅读 · 0 评论 -
【面试准备】生产者消费者-BlockingQueue
题目:有两个线程A,B, A线程每200ms就生成一个[0,100]之间的随机数, B线程每2S中打印出A线程所产生的增量随机数。一、采用阻塞队列来做。public class TestBlockingQueue { static BlockingQueue<Integer> queue = new LinkedBlockingQueue<>(10);...原创 2018-08-22 11:03:09 · 776 阅读 · 0 评论 -
【面试题】sychronized中类锁和对象锁的区别
问:谈一谈sychronized中类锁和对象锁的区别。答:类锁和对象锁是两种不同的锁,对静态方法加锁或者使用sychronized(XX.class)相当于加了类锁,对实例方法加锁或者采用sychronized(this或对象)相当于加了对象锁,区别在于对于同一个类的不同实例来说,如果加了类锁,那么在一个线程获得类锁后,其他线程即使是持有同一个类的不同的实例,也得等待类锁的释放,因为它们竞争的...原创 2018-08-26 10:38:57 · 1057 阅读 · 0 评论 -
打印出某个路径下所有的文件夹和文件
横向:循环,纵向:递归public class PrintFiles { public static void main(String[] args) { File dir = new File("D:/ConditionTestManyToMany"); ArrayList<String> list = new ArrayList<>(); L...原创 2018-08-19 14:31:18 · 910 阅读 · 0 评论 -
【面试题】将矩阵反对角线输出
矩阵:[[1,2,3,4,5], [6,7,8,9,10],[11,12,13,14,15]];输出:5 4 10 3 9 15 2 8 14 1 7 13 6 12 11 1.先打印对角线右上角,包括对角线2.再打印对角线左下角。public class PrintMatrix { public static void main(String[] args) { ...原创 2018-08-24 20:12:31 · 2379 阅读 · 0 评论 -
【面试题】整数N的二进制中1的个数
题目:求整数N的二进制中1的个数1.循环除以2,然后对每次的余数进行判断;2.利用位运算,效率更高;将n的每个位和1按位与,以此来判断该位是否为1public class NumberOfOne { public static void main(String[] args) { System.out.println(numberOfOne(0)); Syste...原创 2018-08-25 09:35:34 · 348 阅读 · 0 评论 -
【面试题】Integer缓存问题
问题:Integer缓存默认的上下限是多少,能改吗?答:默认范围是[-128,127],下限不能改,上限能改。public class TestInteger { public static void main(String[] args) { int a =3; int b =3; Integer c = 3; Integer d = 3; Integer ...原创 2018-08-25 15:40:57 · 324 阅读 · 0 评论 -
【面试题】给一个数组和目标值,求数组中和为目标值的所有组合
1.给一个数组和目标值,求数组中和为目标值的所有组合,数组中每个值可以重复使用。比如:数组【2,3,6,7】,目标值7所有组合:【2,2,3】,【7】思路:用深度优先遍历来做。public class Solution { ArrayList<ArrayList<Integer>> list = new ArrayList<>();...原创 2018-08-25 20:13:00 · 12082 阅读 · 6 评论 -
JWT授权访问API
对于一个项目来说,里面的API接口会有很多,但通常都是需要授权访问的,常见的做法之一是通过用户登录判断用户身份的合法性,然后利用用户信息生成token,以后带着token来访问接口,而生成token的方式之一就是jwt(JSON Web Token)。关于JWT的含义和结构,网上介绍很多,不再赘述。可以参考:https://jwt.io/introduction/。这里只做一个简...原创 2019-09-15 15:30:32 · 386 阅读 · 0 评论 -
基本数据类型与字符串相加结果为字符串
为什么基本数据类型与字符串相加结果为字符串?看完反编译后的代码就一目了然了。源码:public class StringAddNum { public static void main(String[] args) { int a = 1; String s = "AA"; System.out.println(s+a); }}输出结果:AA1反编译后的...原创 2018-08-13 11:05:21 · 5659 阅读 · 0 评论 -
缓存穿透与缓存雪崩问题
1.缓存穿透,即黑客故意去请求缓存中不存在的数据,导致所有的请求都怼到数据库上,从而数据库连接异常。解决方法:(1)当第一次查询数据库时,若数据不存在,返回空数据时将其写入缓存,缓存时间设置短一些,后续查询就不必再去查询数据库了。存在问题:如果key过期时间较长,出现恶意攻击时,容易出现内存不够的情况。另外,需要额外的业务逻辑处理数据库与缓存中数据一致性的问题。(2)设置过滤器进行...原创 2018-08-15 15:50:24 · 245 阅读 · 0 评论 -
jsp乱码问题处理方法
对于初学jsp的人来说,最头疼的问题之一就是jsp的原创 2014-10-24 14:20:23 · 495 阅读 · 0 评论 -
spring配置c3p0连接池和jdbc模版
1.导入jar包之前c3p0用了0.9.5.2版本一直报错,后来换了0.9.2.1,就好了。2..数据库配置文件jdbc.user=rootjdbc.password=123jdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql:///spring3.xml配置文件<?xml version="1.0" encodin...原创 2018-05-29 15:50:24 · 463 阅读 · 2 评论 -
spring声明式事务配置
1.导入jar包2.数据库配置文件jdbc.propertiesjdbc.user=rootjdbc.password=123jdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql:///spring3.spring-bookstore.xml配置文件<?xml version="1.0" encoding="UTF-...原创 2018-05-30 19:53:23 · 221 阅读 · 0 评论 -
Spring整合Hibernate
1.导入jar包2.实体类Book和UserAccountpublic class Book { private String isbn; private String bookName; private float price; private int stock; public String getIsbn() { return isbn; } public int get...原创 2018-05-31 22:00:55 · 1588 阅读 · 0 评论 -
Spring整合Struts2
Spring版本4.3,Struts2版本2.3,2.5版本某些类有改动,配置需注意。1.导入jar包2.实体类public class Person { private String name; public void setName(String name) { this.name = name; } public void sayHello() { System....原创 2018-06-01 18:20:41 · 173 阅读 · 0 评论 -
Java Web实现分页功能
现在一般都采用分页插件来进行分页,方便高效。比如MyBatis提供的pagehelper插件,但面试中,可能面试官会考察分页处理的具体实现,所以,了解一下还是有必要的。分页的关键点在于知道当前页、每页记录、总记录数等数据,然后构造分页,将分页传回前端,前端进行遍历即可。1.创建分页PageHelper和实体类Moviepackage com.go.page;import java...原创 2018-07-19 18:13:38 · 391 阅读 · 0 评论 -
IKAnalyzer2012FF_u1.jar 下载
IKAnalyzer2012FF_u1.jar下载地址:https://code.google.com/archive/p/ik-analyzer/downloads原创 2018-07-27 10:46:57 · 1365 阅读 · 0 评论 -
next和nextLine的区别
转载: https://blog.youkuaiyun.com/woshifano/article/details/43937597 众所周知,在Java中输入字符串有两种方法,就是next()和nextLine(),今天研究了一下其中的区别。首先,nextLine()的输入是碰到回车就终止输入,而next()方法是碰到空格,回车,Tab键都会被视为终止符。所以next()不会得到带空格的字符...转载 2018-07-22 21:18:33 · 499 阅读 · 0 评论 -
solr-搜索服务解决方案
Solr安装1:安装 Tomcat,解压缩即可。2:解压 solr。3:把 solr 下的dist目录solr-4.10.3.war部署到 Tomcat\webapps下(去掉版本号)。4:启动 Tomcat解压缩 war 包5:把solr下example/lib/ext 目录下的所有的 jar 包,添加到 solr 的工程中(\WEB-INF\lib目录下)。6:创建一...原创 2018-07-27 17:06:09 · 392 阅读 · 0 评论