随笔分类 - java
摘要:关于连接池有不少技术可以用,例如c3p0,druid等等,因为druid有监控平台,性能在同类产品中算top0的。所以我采用的事druid连接池。首先熟悉一个技术,我们要搞明白,为什么要用他, 他能帮我们解决什么问题?如果不使用连接池会出现的情况:a.占用服务器的内存资源b.导致服务器的速度非常慢1
阅读全文
摘要:关键字约定 Young generation –>新生代 Tenured / Old Generation –>老年代 Perm Area –>永久代 年轻代: 所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。年轻代分三个区。一个Eden区,两个 Sur
阅读全文
摘要:一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序的性能。本文将从GC的工作原理、GC的几个关键问题进行探讨,最后提出一些Java程序设计建议,如何从
阅读全文
摘要:导出mven依赖 所有状态枚举类
阅读全文
摘要:1 shuffle原理 1.1 mapreduce的shuffle原理 1.1.1 map task端操作 1.1.2 reduce task端操作 1.2 spark现在的SortShuffleManager 2 Shuffle操作问题解决 2.1 数据倾斜原理 2.2 数据倾斜问题发现与解决 2
阅读全文
摘要:ES即简单又复杂,你可以快速的实现全文检索,又需要了解复杂的REST API。本篇就通过一些简单的搜索命令,帮助你理解ES的相关应用。虽然不能让你理解ES的原理设计,但是可以帮助你理解ES,探寻更多的特性。 其他相关的内容参考:Elasticsearch官方文档翻译 样例数据 为了更好的使用和理解E
阅读全文
摘要:摘要 最近做的一个项目涉及到了多条件的组合查询,数据存储用的是HBase,恰恰HBase对于这种场景的查询特别不给力,一般HBase的查询都是通过RowKey(要把多条件组合查询的字段都拼接在RowKey中显然不太可能),或者全表扫描再结合过滤器筛选出目标数据(太低效),所以通过设计HBase的二级
阅读全文
摘要:测试:
阅读全文
摘要:数据加密、解密在安全领域非常重要。对程序员而言,在数据库中以密文方式存储用户密码对入侵者剽窃用户隐私意义重大。 有多种前端加密算法可用于数据加密、解密,下面我向您推荐一种简单的数据库级别的数据加密、解密解决方案。 在表中插入加密数据 以MySQL数据库为例,它内建了相应的加密函数... 数据加密、解
阅读全文
摘要:public String convertCharset(String s) { if (s != null) { try { int length = s.length(); byte[] buffer = new byte[length]; ...
阅读全文
摘要:编写优质的并发代码是一件难度极高的事情。Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的,但是当我们对并发编程有了更深刻的认识和更多的实践后,实现并发编程就有了更多的方案和更好的选择。本文是对并发编程的一点总结和思考,同时也分享了Java 5以后的版本中如何编写并发代码的一
阅读全文
摘要:大致思路是用一个单例的Map实现,当然此Map得是线程安全的--ConcurrentHashMap 原本项目需求是缓存十条消息,所以打算用Map实现缓存机制。中途夭折下面具体尚未实现。。。 当然此代码仞为半成品,具体得根据项目需求采用不同的原则清除缓存
阅读全文
摘要:1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提
阅读全文
摘要:在多线程中所有的操作方法都是从Thread类开始的,所有的操作基本都在Thread类中。 第一取得线程名字 a,在Thread类中,可以通过getName()方法,获得线程的名字,可以通过setName()方法设置线程的名字 b,线程名字一般在线程启动前设置,但是也允许为已经运行的线程设置名称,允许
阅读全文
摘要:package com.test.io; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamRea...
阅读全文
摘要:索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型 在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表: CREATE TABLE mytable( ID INT NOT NULL, username
阅读全文
摘要:1、首先导入整合框架所需要的43个jar包: 2、配置xml文件: 3、配置properties文件(便于对引用数据库用户名称的修改): 4、配置hibernate.cfg.xml文件: 5、配置struts2.xml文件调用容器: 6、导入jquery-easyui的所有包 7、配置web.xml
阅读全文