![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 86
洪武
自律给我自由
展开
-
打印日志乱码
启动的shell脚本添加export JAVA_TOOL_OPTIONS="-Dfile.encoding=utf-8 -Duser.language=en -Duser.country=US"原创 2016-05-05 10:41:05 · 357 阅读 · 0 评论 -
JAVA_API
1.初始化list List list=new ArrayList(Arrays.asList(new String[]{"1","2","3"}));2.Approvers[] newApproversArrays.sort(newApprovers);3.continue com:for()for()continue com;在多层循环很有用处4.正则表...原创 2016-08-31 18:25:59 · 71 阅读 · 0 评论 -
springjdbc
JdbcTemplate1.int update(String sql, Object... args)更新语句 update("UPDATE t_crm_call_record_sync SET last_sync_time=? WHERE id=? AND dbid=?", System.currentTimeMillis() , dto.getDataId(), ...原创 2016-08-31 18:30:27 · 76 阅读 · 0 评论 -
springdatamongodb_api
1.查询条件Criteriais=相等,in=在列表中,and=且,Criteria.where("dbid").is(dbid).and("groupTypeId").in(gtIds).and("depId").in(deptRels).and("isPrivate").exists(false).and("itemTypeId").nin(hiddenIds)nin不属于...原创 2016-08-31 18:32:49 · 407 阅读 · 0 评论 -
SOLR_API
http://192.168.2.94:8080/solr/HttpSolrServer httpSolrServer=HttpSolrServer(String baseURL, HttpClient client) SolrQuery solrQuery = new SolrQuery()StringBuffer sb = new StringBuffer();sb.app...原创 2016-08-31 18:35:54 · 104 阅读 · 0 评论 -
事物管理
BmoOrderServiceException extends RuntimeExceptionthrow new IOException("rfqId %s status %s cannot submit")1.@Transactional 默认情况 事务遇到unchecked异常才回滚,check异常不回滚 即RuntimeException回滚,IOException不回滚2....原创 2019-02-19 16:33:27 · 176 阅读 · 0 评论 -
excel 导入数据,xxe 注入 poi 3.15
问题:xxe是xml为载体,xlsx就是含有xml的 构造的是一个带有攻击代码的xlsx文件,里面带有一个我自定义的域名,后台解析后,访问了我指定的这个域名,说明注入成功解决: poi之前是3.9 升级到3.15以上所需jaroftenUsed ('org.apache.poi:poi:3.17') { transitive = false } ...原创 2019-04-27 14:05:11 · 2426 阅读 · 0 评论 -
java 返回链接页面,解决中文链接乱码问题
//找到url中最后的中文 Pattern chinesePattern = Pattern.compile("[\u4e00-\u9fa5]"); Matcher matcher = chinesePattern.matcher(url); StringBuilder chinese = new StringBuilder(); w...原创 2019-05-14 14:06:08 · 732 阅读 · 0 评论 -
java 线程池
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ...原创 2019-05-14 14:35:43 · 144 阅读 · 0 评论 -
controll 返回jsp页面,自动跳转到另一页面请求
@Action(value = "showOrderDetail", results = { @Result(name = "success", location = "../../jsp/order/showOrderDetail.jsp") }) public String showOrderDetail() { String isEdit = ServletActio...原创 2019-05-14 19:22:45 · 651 阅读 · 0 评论 -
Vert.x 技术内幕 | 异步RPC实现原理
compile group: 'io.vertx', name: 'vertx-core', version: '3.5.1'compile group: 'io.vertx', name: 'vertx-web', version: '3.5.1'compile group: 'io.vertx', name: 'vertx-service-proxy', version:...转载 2018-03-22 13:56:19 · 4008 阅读 · 0 评论 -
面试官最爱的volatile关键字
在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察JVM底层实现以及操作系统的相关知识。 下面我们以一次假想的面试过程,来深入了解下volitile关键字吧!面试官: Java并发这块了解的怎么样?说说你对volat...转载 2018-02-26 11:20:35 · 192 阅读 · 0 评论 -
java路径问题
Java路径中的空格问题1, TestURL().class.getResource("").getPath()或TestURL().class.getResource("").getFile()获得的路径,不能被FileReader()和FileWriter()直接应用。 原因是URL对空格,特殊字符(%,#,[]等)和中文进行了编码处理。 例如:空格变为%20。 有解决方法...原创 2016-05-17 13:37:38 · 104 阅读 · 0 评论 -
经典技术
1.序列号用fastjson. 是通过字节码构造,像Jackson,gson是反射。反射耗性能2.双向mapguava bimap3.arraylist,linkedlist,set,vector,map,hashmap,hashtable,courredhashmap区别4.队列5.x多线程,线程的状态...原创 2016-06-28 11:27:39 · 90 阅读 · 0 评论 -
java cpu-cpu缓存行
写Java也得了解CPU–CPU缓存<iframe id="aswift_0" style="left: 0px; position: absolute; top: 0px;" name="aswift_0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" wi原创 2016-06-28 11:30:46 · 120 阅读 · 0 评论 -
实现 Java 多线程并发控制框架
所面临的问题图 1. 线程场景这幅图中节点代表一个 single Thread,边代表执行的步骤。整幅图代表的意思是,ROOT 线程执行完毕后执行 T1 线程,T1 执行完毕后并发的执行 T2 和 T3。而从 T2 和 T3 指向 T4 的两条边表示的是 T4 必须等 T2 和 T3 都执行完毕以后才能开始执行。剩下的步骤以此类推,直到 END 作为整个过程的结束。当然,这只是个...原创 2016-08-14 05:35:10 · 104 阅读 · 0 评论 -
ThreadLocal InheritableThreadLocal
package snippet; public class Snippet {public void testThreadLocal() {final ThreadLocal<String> local = new ThreadLocal<String>();work(local);} public void testInheritable...原创 2016-09-29 17:27:07 · 94 阅读 · 0 评论 -
java内存模型与volatile关键字
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了...原创 2017-12-25 15:45:25 · 120 阅读 · 0 评论 -
线程状态,调度
1、在Java程序中,JVM负责线程的调度。线程调度是指按照特定的机制为多个线程分配CPU的使用权。 调度的模式有两种:分时调度和抢占式调度。分时调度是所有线程轮流获得CPU使用权,并平均分配每个线程占用CPU的时间;抢占式调度是根据线程的优先级别来获取CPU的使用权。JVM的线程调度模式采用了抢占式模式。 2、Thread类实际上也是实现了Runnable接口的类。 在启动的多线程的时候,...原创 2016-04-13 10:50:53 · 142 阅读 · 0 评论 -
并发编程坑
由一个简单的例子引出并发处理时容易被忽视的陷阱,用来作为面试问题应该很适合。某日,工作了 4 年多的 Java 程序员小 K 跳槽,面试时碰到这样一个题目.... public class P1 { private long b = 0; public void set1() { b = 0; ...原创 2016-07-19 16:25:14 · 122 阅读 · 0 评论 -
什么时候使用CountDownLatch
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟CountDownLatch相关的以下几点: 目录 CountDownLatch是...转载 2018-03-02 14:38:41 · 106 阅读 · 0 评论