- 博客(208)
- 资源 (6)
- 收藏
- 关注
原创 SecureRandom 引发的线程阻塞
写在前面--每个人都是在不断碰壁中获得成长,bug的逼格越高, 成长速度越快。 本人上周亲手写下了一个牛逼的bug,直接导致的结果是,晚上12点升级后台接口以后,第二天早上7点多开始,所有的app页面出现卡顿,白屏。公司研发老总,迅速召集公司运维大佬,产品大佬,研发大佬奔赴公司解决bug。所有人,开始手忙脚乱,查看线上日志,抓包,阿尔萨斯监听 接口耗时。各个大神,各种手段,各显才...
2019-09-23 22:08:14
8494
6
转载 分布式锁(转载自:https://www.cnblogs.com/seesun2012/p/9214653.html)
### 什么是锁?在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。 而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设置该标记,其余后续线程发现已经有标记了则等待拥有标记的线...
2019-04-18 19:43:16
744
转载 HBase读写的几种方式(三)flink篇(转载自:https://www.cnblogs.com/swordfall/p/10527423.html)
1. HBase连接的方式概况主要分为:纯JavaAPI读写HBase的方式; Spark读写HBase的方式; Flink读写HBase的方式; HBase通过Phoenix读写的方式;第一种方式是HBase自身提供的比较原始的高效操作方式,而第二、第三则分别是Spark、Flink集成HBase的方式,最后一种是第三方插件Phoenix集成的JDBC方式,Phoenix集成的...
2019-04-02 16:10:39
1118
转载 对于集合一定要调用isEmpty
转自:https://blog.youkuaiyun.com/xiaojianpitt/article/details/6886208Reasons to call.isEmpty on collections我已经不止一次看到这样的代码:if (collection.size() > 0) { ...}这是大多数程序员检查集合不为空的第一固有想法。但是,这里有一个更好的方法isEmpty:if (!c...
2018-06-08 17:12:38
863
1
转载 深入理解Java:SimpleDateFormat安全的时间格式化
本文转自:https://www.cnblogs.com/peida/archive/2013/05/31/3070790.html想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFor...
2018-06-08 17:11:31
245
转载 根据图片路径把图片的二进制数据写入内存
public static byte[] readInputStream(InputStream inStream) throws Exception{ ByteArrayOutputStream outStream = new ByteArrayOutputStream(); //创建一个Buffer字符串 byte[] buffer ...
2018-03-30 17:54:32
1671
原创 开启多线程执行
public static void main(String[] args) throws Exception { for (int i = 0; i < 500; i++) { startThread(); } } public static void startThread() { new ...
2018-03-30 17:52:40
544
原创 spring boot thymeleaf 报 找不到模板
启动类如下: @ RestController@SpringBootApplicationpublic class ExampleSpringBoot extends WebMvcConfigurerAdapter{ public static void main(String[] args) { SpringApplication.run(ExampleSpringBoot.class, ...
2018-03-23 11:48:26
2682
2
转载 多线程模式下懒汉式单利模式
private static Singlon instance = null; public static String s = "aa"; private Singlon() { } public static Singlon getInstance(){ if (instance == null) { synchronized (Singlon.class...
2018-02-24 18:42:01
227
转载 java简单实现RabbitMQ
前言:在这里我将用java来简单的实现rabbitMQ。下面我们带着下面问题来一步步的了解和学习rabbitMQ。1:如果消费者连接中断,这期间我们应该怎么办2:如何做到负载均衡3:如何有效的将数据发送到相关的接收者?就是怎么样过滤4:如何保证消费者收到完整正确的数据5:如何让优先级高的接收者先收到数据一:"Hello RabbitMQ"下面
2017-09-20 18:11:04
276
转载 Java中的set去重复(基础类型,与对象)转载自http://blog.youkuaiyun.com/miqi770/article/details/8998517
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; /** * 编写者:CP * 编写日期:2011-9-7 * 类描述:set集合针对String 类型和8大基础数据类型 过滤掉重复数据,如果存放的是
2017-08-21 17:08:59
380
转载 redis的使用(转载自:http://www.cnblogs.com/edisonfeng/p/3571870.html)
java对redis的基本操作一、server端安装 1、下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位win7系统对应的版本: 2、安装
2017-08-15 15:57:02
562
转载 spring 配置数据库连接池
1 dbcp bean id = "dataSource" class = "org.apache.commons.dbcp.BasicDataSource" > property name = "driverClassName" value = "com.mysql.jdbc.Driver" /> property name = "ur
2017-07-12 17:12:53
879
原创 关于echarts 跟ie的兼容性问题
1 echarts 在谷歌浏览器中可以所向披靡,丝毫不会出现因兼容性问题出现图像不显示的结果。而在ie中似乎却不太混得开最近在做折线图的展示,引入了资源echarts.js谷歌中正常显示,而在ie中却出现了如下问题: 初始化的时候图形不显示,在F12开启的情况下 刷新页面,图形正常显示,经过调试发现 echarts.init(document.getElementById('first
2017-07-06 12:00:06
37076
4
原创 js ie下 new Date()带参数不兼容的问题
//时间转为时间格式var mills = new Date(Date.parse(currentTime.replace(/-/g,"/"))).getTime();//获得毫秒数var nowDate = new Date(mills);
2017-06-12 17:33:24
2271
原创 把查询结果的两行的同一列合并的方法
Oracle中提供了该方法,Wm_concat(pv.value)但是查询结果是clob类型。Oracle中提供了dbms_lob的一些用法对Lob进行处理dbms_lob.substr(Wm_concat(pv.value)) 把clob转化成了字符串类型
2017-05-16 10:12:59
1147
原创 jQuery中的一些自己写的方法
/* * 把字符串中的所有s1,替换为s2 * * */String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,"g"),s2); }/* * * 页面传值获取参数, * 已对中文进行解码 * */function
2017-05-06 15:41:14
2488
原创 在ibatis中打印sql语句
web.xml中配置:org.springframework.web.util.Log4jConfigListenerlog4jConfigLocationWEB-INF/classes/config/log4j.xml:log4j.xml:value="%p - %C{1}.%M(%L) | %m
2017-05-04 13:59:54
5059
原创 照片上传
Class BaseAction {public File image; //上传的文件public String imageFileName; //文件名称public String imageContentType; //文件类型//获取上传照片的路径String path = ServletActionContext.getServletC
2017-05-04 13:52:46
499
转载 redis 使用
redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型,类似于Java中的map)。Redis基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也
2017-04-19 16:46:36
326
转载 JAVA的垃圾回收机制
2.1 触发GC(Garbage Collector)的条件 1)GC在优先级最低的线程中运行,一般在应用程序空闲即没有应用线程在运行时被调用。但下面的条件例外。 2)Java堆内存不足时,GC会被调用。当应用线程在运行,并在运行过程中创建新对象,若这时内存空间不足,JVM就会强制调用GC线程。若GC一次之后仍不能满足内存分配,JVM会再进行两次GC,若仍无法满足要求,
2017-04-07 10:47:04
349
转载 使double保留两位小数
Java中DecimalFormat df = new DecimalFormat("######0.00"); double d1 = 3.23456 double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3);sql中:to_char(sala
2017-04-06 10:25:43
1130
原创 获取tomcat目录下的properties
在复杂功能的系统中,比如已经产品化的系统,各个功能是独立的,并且是可维护的,为了使产品的可可扩展性良好,需要写很多配置文件。把硬件或者中间件的信息都写在文件中便于运维人员进行更改,同时也就避免了研发人员的二次参与。但是产品化的系统,jar包众多。运维人员在修改时去修改jar中的properties就会很麻烦,一方面寻找需要时间,一方面如果研发人员命名jar包不规范,运维人员根本不知道去哪里更新配置
2017-03-24 16:59:02
2848
转载 Tomcat 7下如何利用 catalina.properties 部署公用类
http://blog.youkuaiyun.com/teamlet/article/details/24840959Tomcat 有很多配置文件,其中一个是 catalina.properties ,本文介绍catalina.properties 中的设置项。一、组成catalina.properties中的设置项包括四个部分:
2017-03-24 15:51:25
657
原创 struts2中获取 seesion与sessionId
Map ss = ActionContext.getContext().getSession();String str = ServletActionContext.getRequest().getSession().getId();System.out.println("------113---------"+str);
2017-03-23 11:37:14
1912
转载 session+application+cookie 实现单态登陆,且解决浏览器意外关闭的问题(转自http://blog.youkuaiyun.com/u010723709/article/details/4)
最近在帮朋友做一个购物网站,里面涉及到了登陆的问题。其中包括后台管理员的登陆和用户的登陆。在这个网站中,设计了后台管理员单态登陆,即一个账号只能有一个登陆实例。很容易想到的就是用application实现,在application中放置一个hashmap,储存登陆的管理员信息。同时为了实现登陆超时,也在session中存放登陆对象,通过设置session的listener监控session
2017-03-23 11:26:35
722
转载 浏览器关闭后,Session会话结束了么?
转载自;http://blog.youkuaiyun.com/stanxl/article/details/47105051今天想和大家分享一个关于Session的话题: 当浏览器关闭时,Session就被销毁了?我们知道Session是JSP的九大内置对象(也叫隐含对象)中的一个,它的作用是可以保存当前用户的状态信息,初学它的时候,认为Session的生命周期是从
2017-03-23 11:12:55
3215
转载 判断字符串中几个汉字
public int vd(String str){ int count = 0; String regEx = "[\\u4e00-\\u9fa5]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(st
2017-03-20 15:11:06
1800
原创 java.util.ResourceBundle
Java中提供了一个工具类 ResourceBundle可以直接读取src下的properties文件(注意只能读该文件)再通过getString("");通过键获取值:例如:ResourceBundle rb = ResourceBundle.getBundle("log4j");String str = rb.getString("log4j.rootLogger"
2017-03-20 14:12:53
250
转载 java 中 调用ping测试网络是否通
public static final String[] encodes = new String[] { "UTF-8", "GBK", "GB2312", "ISO-8859-1", "ISO-8859-2" };public static void main(String[] args) throws Exception {// TODO Auto-generated method
2017-03-15 10:14:56
3459
转载 将字符串转换成指定编码格式(转载自网络,地址不详,请文章的作者见谅)
/*** 将字符串转换成指定编码格式* * @param str* @param encode* @return*/public static String transcoding(String str, String encode) {String df = "ISO-8859-1";try {String en = getEncode(str);if
2017-03-15 10:13:50
772
转载 jagrid 多表头 转自(http://blog.youkuaiyun.com/eagle_88/article/details/42969547)
jqGrid是用来实现表格的jQuery插件,使用该插件可以轻松的实现前端页面与后台数据的AJAX交互,使用方便,最近在开发项目中要实现多行表头的效果,在api中找到的答案是能够实现2行表头,那么要实现多行该如何解决呢?实现2行表头的写法如下://形成表格$("#itemlist_list").jqGrid({ autowidth:true, url:ite
2017-02-08 11:40:02
374
转载 线程-synchronized方法和同步块的作用范围;synchronized(this)和synchronized(obj)的区别
原文:http://m.blog.youkuaiyun.com/blog/u010802573/38661719参考资源:http://www.cnblogs.com/oracleDBA/archive/2010/05/22/1741642.htmlhttp://www.cnblogs.com/highriver/archive/2011/12/18/2291965
2017-01-17 11:19:23
976
原创 wsdl2java 生成客户端 具有相同名称的类已经在使用
在命令中加上在wsdl2java 命令中新增参数: -autoNameResolution 即可wsdl2java -autoNameResolution http://xxx.xxx.xxx.xxx:8080/xxxService?wsdl
2016-12-19 18:12:15
1068
转载 jbmp,转载自:http://blog.youkuaiyun.com/wangyang1354/article/details/50014231
1. 什么是JBPM4.4业务流程管理框架?JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。相关概念:a: 从一个节点到另一个节点==>流转。b:程序预先设定的行为==>活动。2. JBPM工作流的特点2.1 直观描述业务流程
2016-12-14 17:26:05
400
转载 自定义标签
自定义标签的开发步骤:定义一个标签处理类;定义描述文件;根据描述文件处理标签 定义描述文件的过程:在WEB-INF下创建一个tld文件,复制apache-tomcat-7.0.22\webapps\examples\WEB-INF\jsp2目录下的jsp2-example-taglib文件的头信息和一个标签内信息到这个事先创建好的tld文件中,并作出相应修改。tld部分文
2016-12-14 11:59:21
184
转载 ldap安装与学习(转载自:http://blog.sina.com.cn/s/blog_72ee04a40100p0ce.html)
一、OpenLDAP安装和配置安装还是比较简单的,一直next就好。下搭建LDAP服务器" style="margin:0px; padding:0px; border:0px; list-style:none">这里记得把上面2个都选上,将LDAP注册为系统的一个服务,默认安装位置:C:\Program Files\OpenLDAP,进入安装目录,编辑slap
2016-12-13 18:54:04
558
原创 Berkeley DB
我们公司的产品中用到了伯克利db数据库,闲着没事干,学习了一下:1:Berkeley DB是一个开源的文件数据库,嵌入式数据库系统。介于关系数据库与内存数据库之间,使用方式与内存数据库类似,它提供的是一系列直接访问数据库的函数,而不是像关系数据库那样需要网络通讯、SQL解析等步骤。Berkeley DB (DB)是一个高性能的,嵌入数据库编程库,和C语言,C++,J
2016-12-13 18:41:01
812
原创 xml与对象的转换
1 String str = “xmlg格式的标签” 自定义对象 A A中封装的属性为xml中的标签 MonitorShowUtil monitorShowUtil=MonitorShowUtil.getInstance();MonitorShowUtil :public class MonitorShowUtil {
2016-09-02 12:06:15
389
原创 读取当前目录的文件
1:BufferedReader reader = null; URLClassLoader loader = (URLClassLoader)getClass().getClassLoader(); InputStream in = null; URLConnection urlConnection = null; urlC
2016-09-02 11:15:23
346
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人