
Java
abel0130
这个作者很懒,什么都没留下…
展开
-
restTemplate 信任所有SSL证书
@Configurationpublic class RestTemplateConfig { @Bean public RestTemplate restTemplate() throws NoSuchAlgorithmException, KeyManagementException { SSLContext sslContext = SSLContext.getInstance...原创 2020-02-24 23:00:29 · 4476 阅读 · 0 评论 -
tomcat 虚拟目录配置
推荐方案1.在tomcat根目录下找到conf\Catalina\localhost目录2.新增aaa.xml文件3.在aaa.xml文件下新增内容windows方案:linux方案:完成在docBase指定目录下添加文件xxx.jpg访问方式http://localhost:[tomcat服务端口]/aaa(此处aaa与新增的aaa.xml原创 2015-08-21 16:14:47 · 651 阅读 · 0 评论 -
java内存分配和String类型的深度解析
一、引题 在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析关于String的许多令人迷惑的问题。下面是本文将要涉及到的一些问题,如果读者对这些问题都了如指掌,则可忽略此文。 1、java内存具体指哪块内存?这块内存区域为什么要进行划分?是如何划分的?划分之后每块区域的作用是什转载 2015-04-27 23:34:03 · 602 阅读 · 0 评论 -
基于注解的SPRINGMVC+FREEMARKER环境搭建
原文地址:http://www.blogjava.net/paulwong/archive/2012/03/19/372220.html首先用IDE建一个web工程。(这个就不详细介绍了) 引入响应的jar包 web.xmlxml version="1.0" ?>web-app xmlns="http://java.sun.com/xml/ns/javaee" xm转载 2015-01-23 17:17:30 · 504 阅读 · 0 评论 -
Java 类的热替换 —— 概念、设计与实现
构建基于 Java 的在线升级系统原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/index.html对于许多关键性业务或者庞大的 Java 系统来说,如果必须暂停系统服务才能进行系统升级,既会大大影响到系统的可用性,同时也增加了系统的管理和维护成本。因此,如果能够方便地在不停止系统业务的情况转载 2015-01-23 16:46:54 · 433 阅读 · 0 评论 -
构建Java并发模型框架
Java的多线程特性为构建高性能的应用提供了极大的方便,但是也带来了不少的麻烦。线程间同步、数据一致性等烦琐的问题需要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误。另外,应用逻辑和线程逻辑纠缠在一起,会导致程序的逻辑结构混乱,难以复用和维护。本文试图给出一个解决这个问题的方案,通过构建一个并发模型框架(framework),使得开发多线程的应用变得容易。基础知识J转载 2015-01-23 16:49:57 · 572 阅读 · 0 评论 -
mybatis collection 对象自身关联
先看看代码 SELECT comm.id,comm.commentTm,comm.content,comm.userId,comm.loginId,comm.praise,comm.tread, subComm.commentTm subComm原创 2014-05-30 10:26:17 · 3527 阅读 · 0 评论 -
Java Thread 总结
原文地址:http://www.cnblogs.com/DreamSea/archive/2012/01/11/JavaThread.html#navigation目 录 线程的概述(Introduction)线程的定义(Defining)1) 继承java.lang.Thread类2) 实现java.lang.Runnable接口线程的启转载 2015-02-03 10:13:53 · 389 阅读 · 0 评论 -
关于Java线程join的解读
private void thread() { System.out.println("th main go"); try { System.out.println(System.currentTimeMillis()); for(int i = 0; i < 5; i ++){ Thread th = new Thread1(); System.out.pri原创 2014-12-08 15:20:25 · 393 阅读 · 0 评论 -
Json字符串转为List
/** * Json字符串转List * @param * @param str * @param clazz * @return */ public static List getSourceJsListString(String str, Class clazz) { JSONArray jsonArray = JSONArray.fromObject(str原创 2014-12-04 16:50:06 · 2376 阅读 · 0 评论 -
从image/x-png谈ContentType(s)
今天在做一个文件上传的功能的时候,发现我总是上传不了png的图片。经过调试发现,应该是在ContentType的地方判断失误了。后来百度了一下发现一个有意思的现象,我发现png的图片的ContentType并不是我在注册表中看到的image/png,而是image/x-png。也因此造成了上传不了png文件的原因(后来看了资料才知道我找错了注册表的位置)。经过自己测试,得出的结果如下:转载 2016-04-23 14:55:25 · 1062 阅读 · 0 评论 -
Java ConcurrentModificationException
原文:http://www.cnblogs.com/dolphin0520/p/3933551.html在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。 以下是本文目录大纲:转载 2016-05-11 16:33:19 · 459 阅读 · 0 评论 -
HttpClient使用
1:单线程请求请求方法如下public String postXml(String url, String apiKeyAddr, String apiKey,String xml) throws Exception{ String responseString = ""; CloseableHttpClient httpclient = null; KeyStore keyStore...原创 2017-07-03 17:11:55 · 536 阅读 · 0 评论 -
springboot restful 接口添加list参数支持
功能点:现有的restful 接口在支持json的基础上添加对xml类型报文的支持(关键点:list参数处理)原始代码1.controller方法public BatchResult Batch(@PathVariable("store") String storeId, @Valid @RequestBody ValidList<Request> batchRequ...原创 2019-03-12 18:30:27 · 7791 阅读 · 0 评论 -
java
正则表达式替换字符串:[code="java"][/code]temp = str.replaceAll("[a-zA-Z]*","");(注:必须使用新的字符串存储更换后的字符串)原创 2013-03-12 11:38:09 · 116 阅读 · 0 评论 -
Map排序的两种方式
Map排序的两种方式:[code="java"][/code] public static EnumMap mapSort(EnumMap temp){ Set set = temp.entrySet(); Map.Entry[] entries = (Entry[]) set.toArray(); Arrays.sort(entries, new Comparator...原创 2013-03-12 11:34:47 · 281 阅读 · 0 评论 -
JVM指令集
转至: https://blog.youkuaiyun.com/hudashi/article/details/7062675 一、未归类系列A此系列暂未归类。指令码 助记符 说明0x00 nop 什么都不做0x01 aconst_nu...转载 2018-10-22 10:40:01 · 483 阅读 · 0 评论 -
连续数字分组
/** * */package me.abel.algorithm;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Stack;/** * @author abel * */public class DistinguishDigit { public stat...原创 2018-04-17 22:40:12 · 2276 阅读 · 1 评论 -
Properties 文件变更
/** * */import java.io.IOException;import java.nio.file.FileSystems;import java.nio.file.Paths;import java.nio.file.StandardWatchEventKinds;import java.nio.file.WatchEvent;import java.nio.fi...原创 2018-04-10 23:13:19 · 275 阅读 · 0 评论 -
ResourceBundle 定时加载
public class PropertiesUtil { private final static ResourceBundleControl rbCtl = new ResourceBundleControl(); private static ResourceBundle rb = ResourceBundle.getBundle("wxMchnt", L转载 2017-11-06 10:50:48 · 345 阅读 · 0 评论 -
JSP 登录验证码
java jsp实现登录验证码工作中使用的java jsp实现的登录验证码。代码记录如下:1.登录主页面(login.jsp) pageEncoding="UTF-8"%>登录function refresh() {//IE存在缓存,需要new Date()实现更换路径的作用document.getElementById("im转载 2014-12-05 15:24:33 · 994 阅读 · 0 评论 -
Tapestry中使用拦截器实现Hibernate的事务管理
从Tapestry4.0开始使用了Hivemind作为注入容器,合理有效的使用该容器,可以极大的简化开发工作,减少代码量.比如说,在开发Hibernate应用时,就有一个关于事务控制的问题,在Spring中可以使用Spring来管理事务,但是我觉得那样对自己的代码侵入性比较大,而利用Hivemind中的拦截器,则可以方便的解决此问题,而且侵入性小.步骤是这样的:1.配置Hibernate转载 2014-12-05 15:22:07 · 829 阅读 · 0 评论 -
Json对象转换
String str = "{\"shopId\":\"店铺Id\"," +原创 2014-05-30 11:19:32 · 646 阅读 · 0 评论 -
文件读取
/** * 读取HTML * @param filePath HTML地址 * @return articleContent 文章内容 */ public static String readHTML(String filePath) { String articleContent = ""; BufferedReader br = null;原创 2014-07-04 13:39:24 · 374 阅读 · 0 评论 -
simpledateformat 时间格式
微秒:SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss.ms");//格式化至微秒原创 2014-06-06 12:38:18 · 573 阅读 · 0 评论 -
java参数传递
private static void doParam() { List list = new ArrayList(); list.add("123"); listNull(list); System.out.println(list.toString()); listAdd(list); System.out.println(list.toString()); i原创 2014-04-28 14:36:58 · 490 阅读 · 0 评论 -
关于重载与重写
看一段代码public class Picture { void draw(Object obj) { System.out.println("Super"); }}原创 2014-04-23 10:48:29 · 522 阅读 · 0 评论 -
使用servlet Filter校验登录信息
package com.ttmtech.sme.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException原创 2014-04-13 14:34:42 · 919 阅读 · 0 评论 -
对java:comp/env的研究
研究了一下 context.lookup("java:comp/env/XXX")和直接context.lookup("XXX")的区别网上关于这两个的文章也很多,但是都说得很难理解,比如什么ENC环境啊什么的,各种概念。其实说得简单点:context.lookup("java:comp/env/XXX")只能用在J2EE环境,即是如果你自己写一个main函数,想通过context转载 2013-08-23 13:54:19 · 441 阅读 · 0 评论 -
java方法的重载与重写
1、重载:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。方法名相同方法的参数类型,个数顺序至少有一项不同方法的返回类型可以不相同方法的修饰符可以不相同main方法也可以被重载2、重写:如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。转载 2013-07-09 09:17:05 · 651 阅读 · 0 评论 -
java的基本特性:封装,继承,多态,可移植性
1、继承: 利用extends关键字一个方法继承另一个方法,而且只能直接继承一个类。当Sub类和Base类在同一个包时Sub类继承Base类中的public/protected/默认级别的变量个方法在不同包时继承public/protected级别的变量和方法。 2、继承的利弊和使用原则:集成数的层次不可太多集成数的上层为抽象层转载 2013-07-09 09:22:12 · 785 阅读 · 0 评论 -
浅谈java.util.concurrent包的并发处理
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的危害等诸多因素,往往会采用一些较为复杂的安全策略,加重了程序员的转载 2014-07-09 23:33:48 · 483 阅读 · 0 评论 -
调用系统命令删除文件
Runtime runtime = Runtime.getRuntime(); String[] args = new String[] {"cmd.exe", "/c", "rd c:\\xxx /q /s"};Process proc = runtime.exec(args);转载 2014-08-28 15:34:44 · 815 阅读 · 0 评论 -
Linkedin工程师是如何优化他们的Java代码的
最近在刷各大公司的技术博客的时候,我在Linkedin的技术博客上面发现了一篇很不错博文。这篇博文介绍了Linkedin信息流中间层Feed Mixer,它为Linkedin的Web主页,大学主页,公司主页以及客户端等多个分发渠道提供支撑(如下图所示)。 在Feed Mixer里面用到了一个叫做SPR(念“super”)的库。博文讲的就是如何优化SPR的java代码。下面转载 2015-01-08 18:01:10 · 455 阅读 · 0 评论 -
java自带线程池和队列详细讲解
一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的数量。转载 2015-01-08 17:01:03 · 432 阅读 · 0 评论 -
Matrix学习——基础知识
以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明。首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部分。为什么分割成4部分,在后面详细说明。首先给大家举个简单的例子:现设点P0(x0, y0)进行平移后,移到P(x,y),其中x方向的平移量为△x,y方向的平移量为△y,那么,点P(x,y)转载 2015-01-08 17:01:47 · 1024 阅读 · 0 评论 -
优先级队列简介
优先级队列(PriprityQueue)是一种无界队列,基于优先级堆,它的元素根据自然顺序或者通过实现Comparator接口的自定义排序方式进行排序。这篇文章,我们将创建一个Items的优先级队列,基于价格排序,优先级队列用来实现迪科斯彻算法(Dijkstra algorithm)非常实用。值得注意的是他的迭代器并不保证有序,如果需要按顺序遍历,最好使用Arrays.sort(pd.toArra转载 2015-01-08 16:58:37 · 691 阅读 · 0 评论 -
java 1.5新特征concurrent
JDK5中的一个亮点就是将Doug Lea的并发库引入到Java标准库中。Doug Lea确实是一个牛人,能教书,能出书,能编码,不过这在国外还是比较普遍的,而国内的教授们就相差太远了。一般的服务器都需要线程池,比如Web、FTP等服务器,不过它们一般都自己实现了线程池,比如以前介绍过的Tomcat、Resin和Jetty等,现在有了JDK5,我们就没有必要重复造车轮了,直接使用就可以,何转载 2015-01-06 17:51:54 · 509 阅读 · 0 评论 -
Java web服务器启动时加载
JavaWeb 服务启动时,在后台启动加载一个线程。目前,我所掌握的一共有两种方法,第一种是监听(Listener),第二种是配置随项目启动而启动的Servlet。下面对这两种方法做一简单的介绍,(Mark一下,防止以后急用又忘记了):监听(Listener)首先,我们创建一个监听的类,继承ServletContextListener,如下:转载 2014-11-06 10:46:10 · 2370 阅读 · 0 评论 -
freemaker 创建HTML文件
/** * 创建目录 * @param path * @return */ private static boolean creatFolder(String path) { File folder = new File(path); if (!folder.exists()) { return folder.mkdirs()原创 2014-10-30 19:37:44 · 725 阅读 · 0 评论