![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 69
textboy
专注于技术与管理并行发展
展开
-
Thread - futureTask
futureTask -未来任务,封装次线程,给主线程以后调用(异步)。常见方法:isDone(), get()调用方式:new Thread(futureTask/runnable).start()new ThreadPoolExecutor.execute(futureTask/callable/runnable))Future x = Executors.原创 2014-12-17 14:16:51 · 443 阅读 · 0 评论 -
jar 独立运行文件制作(于windows平台)
实例如下:CrawlTrans.javapackage bank;...public class CrawlTrans {... public static void main(String[] args) {...META-INF/MANIFEST.MFManifest-Version: 1.0Main-Class: bank.CrawlTrans原创 2015-09-16 09:04:11 · 1265 阅读 · 0 评论 -
分组对列扁平化(列转换行 关系型转换NoSQL)
前言:关系型数据库要符合第一范式即原子性,因此字段多值情况只能分行处理,如下表,假设keys是terms、appl_dt,则no, predict_pay_dt, actual_pay_dt 是多值如果要转换成NoSQL或collection对象,需要以keys分组,然后列转成行(或列转成collection)。示例: public static List colu原创 2015-10-12 16:50:46 · 792 阅读 · 0 评论 -
Java - Elasticsearch查询类型
查询类型queryType描述后台代码样例matchAllQuery全匹配QueryBuilder qb = matchAllQuery();matchQuery单个匹配QueryBuilder qb = matchQuery( "name",原创 2016-03-29 16:25:09 · 10613 阅读 · 2 评论 -
Shiro简介
1.1 简介Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。本教程只介绍基本的Shiro使转载 2016-03-21 14:29:52 · 328 阅读 · 0 评论 -
SQLite3使用
下载 http://www.sqlite.org/download.html (如sqlite-tools-win32-x86-3120100.zip)查看环境变量 .showCREATE Database http://www.tutorialspoint.com/sqlite/sqlite_create_database.htm查看Database .dat原创 2016-04-11 18:35:33 · 517 阅读 · 0 评论 -
WebSocket vs REST
定义REST是基于http请求/响应(Request/Response)“无状态”通信方式;WebSocket是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex),其底层协议还是http请求。在JavaEE7中也实现了WebSocket协议。需要实现了websocket的浏览器的支持。REST的问题在没有浏览器请求的前提下,web服务器不可以翻译 2016-04-09 08:14:48 · 5596 阅读 · 0 评论 -
javax.servlet获取
javax.servlet是Spring4配置所需的的包。获取方法:1)Maven2)去Oracle下载Java EE SDK(不是JDK for Java SE)3)另一个简单方法,到Tomcat安装目录\lib\servlet-api.jar下copy一个:)参考:http://stackoverflow.com/questions/860022/wheres-java翻译 2016-04-12 18:29:24 · 417 阅读 · 0 评论 -
Spring4搭建+REST在Spring上搭建
注意,该文是基于Spring4而不是Spring boot,因而非零配置文件。1、Server端 整体架构2、Lib3、配置web.xml springPoC1 rest org.springframework.web.servlet.DispatcherServlet 1 rest /*原创 2016-04-13 11:12:45 · 5881 阅读 · 0 评论 -
http 连接池
Httpclient连接池(PoolingHttpClientConnectionManager,)见:RestTemplate实践 http://www.open-open.com/lib/view/open1436018677419.html池化的HttpClient(PoolingClientConnectionManager,xx.setMaxTotal(200))见:Re转载 2016-04-15 14:57:30 · 556 阅读 · 0 评论 -
REST实现(Spring下实现+JDK6机制实现)
1、Spring下实现见:Spring4搭建+REST在Spring上搭建 http://blog.csdn.net/textboy/article/details/511414362、利用JDK 6机制实现这种方式更为灵活,可以设置最大接受请求数和线程数(在Spring下...还真不知在哪里可以设这些参数)httpServer、httpHandlerimport ja原创 2016-04-15 15:42:23 · 936 阅读 · 0 评论 -
高并发分布式事务解决之道-Actor模型(附Akka与Reactor比较)
----- Actor模型(1) 事务机制来由为什么大多数互联网软件都是数据喂机器,或函数式即可,比如twitter或facebook,因为他们没有事务要求,一般涉及到钱等重要交易都需要事务,也可以这么说,非结构化的数据一般都没有事务要求,结构化聚合的数据才有事务要求。(2) 事务例子用户甲的操作1.开始事务2.访问表A3.访问表B4.提交事务乙用户在操原创 2016-04-15 17:33:08 · 12089 阅读 · 0 评论 -
ELK setup guide
注意:ELK前置需要JDK7(update 55)以后版本。基于Lucene的分布式多用户能力的全文搜索引擎,用Java开发,基于RESTful web接口。# 概念index patterndata set has an index, each set of data loaded to Elasticsearch has an index pattern, An原创 2016-02-12 09:59:20 · 3147 阅读 · 0 评论 -
Java - zookeeper 服务注册发现
一、zookeeper 服务注册发现模型流程:1)注册,2)发现:监听、负载均衡、故障检测、变更通知,3)调用。From http://blog.cloudera.com/blog/2014/03/zookeeper-resilience-at-pinterest/From http://www.techweb.com.cn/network/hardware/2原创 2016-04-22 18:37:10 · 13228 阅读 · 0 评论 -
ClassLoader类加载机制
类加载流程Class1,Class2-> MyClassLoader1, MyClassLoader2, MyThreadClassLoader1,MyThreadClassLoader2 -> AppClassLoader -> ExtClassLoader -> BootStrap 每个类加载器方法流程loadClass-> findClass -> defineClass(C原创 2016-05-13 17:06:21 · 729 阅读 · 0 评论 -
Java - Elasticsearch RestFul连接搜索查询
1. 启动elasticsearchsu - elasticsearchcd /appl/elasticsearch-2.1.1/bin/elasticsearch -d -p pid2. curl命令查看cluster、version:curl 'centos1:9200'查看index:curl 'centos1:9200/_cat/indices?v'查看1条原创 2016-03-29 13:46:09 · 5904 阅读 · 7 评论 -
同步等待异步模型
一、需求:前端http请求为同步处理,后台调用Kafka消息队列变成异步处理,因此有同步等待异步需求。前置1、前置2同属一套代码,但部署到不同的服务器(也就是不同的tomcat容器)。二、规划模型:三、纯伪代码-前置1:package com.test;import java.util.Date;import java.util.HashMap;im原创 2016-04-22 18:26:36 · 758 阅读 · 0 评论 -
rxJava例子
反正比较简单,直接上例子了import java.util.ArrayList;import java.util.Iterator;import java.util.List;import rx.Observable;import rx.Subscriber;import rx.functions.Func1;//参考:http://reactivex.io/docum原创 2016-06-30 15:46:32 · 732 阅读 · 0 评论 -
使用selenium动态爬取
支持动态爬取,如登录、Javascript内容。一、准备:1、下载selenium(如:selenium-java-2.37.0.zip,约24MB),chromedriver.exe(chromedriver_win32.zip,约2.4MB)https://sites.google.com/a/chromium.org/chromedriver/downloads2原创 2015-09-25 11:11:17 · 1532 阅读 · 0 评论 -
spring-boot web应用(实现图片旋转、放大)
这里用到 artZoom.js,这JS插件可以旋转、放大图片。pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM原创 2015-08-19 14:54:43 · 1915 阅读 · 0 评论 -
spring-boot 初试
以前用得多是spring framework,现在试用spring-boot,hello world过程如下(只是简单的helloworld,实用见后续文章):1)准备eclipse,JDK(我的版本是1.7),maven 3(端口版本:http://tomcat.apache.org/whichversion.html)2)window中的Java设置,即JAVA_HOME /原创 2015-08-14 15:42:23 · 904 阅读 · 0 评论 -
properties read write example
public class PropertyUtil01 { private static Properties props = null; public static void main(String[] args) { PropertyUtil01 p; try { p = new PropertyUtil01(); props = readProperties();原创 2014-12-18 13:54:57 · 421 阅读 · 0 评论 -
Thread - synchronized
同步的关键是多个线程对象竞争同一个共享对象,使无序的多个线程有序地排队。Example 1:public class Thread06_sync { public static void main(String[] args) {// new Thread06_sync().test01(); new Thread06_sync().new Test02(new Objec原创 2014-12-08 15:45:40 · 499 阅读 · 0 评论 -
Thread - Thread Execution
线程运行工具也有两种方法实现:1、Thread2、ThreadPool主要区别:线程池循环使用线程池中的线程,减少创建和销毁线程。可以用Future接收运行结果运行体主要有两种方法实现:1、Runnable(), run()2、Callable(), call()主要区别:Run 没有返回值,Call有返回值。可以把运行体封装成FutureTask。原创 2014-12-10 16:08:55 · 562 阅读 · 0 评论 -
Enum的例子
Enum 可以用于存储常量列表,也可以作单例SingleTon,其中,单例应用更是所有单例实现中的最佳实践。以下是一个例子:public class Enum01 { public static void main(String[] args) { basicTest();// singleTon(); } public static void basicTest() {原创 2015-02-10 16:19:49 · 605 阅读 · 0 评论 -
Thread - JConsole
多线程时有可能遇到:程序一直不停,也不报错,只是靠console不能获取到足够的信息,怀疑死锁或其它情况了,这时候我们就可以找jconsole帮忙(jconsole是JDK内置的小工具)。 连接以eclipse为例,在工具栏 > run as(debug as) > runconfigurations 里加入以下三行参数:-Dcom.sun.management.jmxremote原创 2015-02-13 14:26:17 · 565 阅读 · 0 评论 -
Thread - 多线程更新(update)数据库表的例子
目标:为提高数据库表更新(update)效率,使用多线程更新。其实这里也可以考虑另一种方法批量更新,不过如果更新失败了,同一事务(transaction)中的其他更新语句就会回滚,比较麻烦,所在还是简单点用多线程去处理。困难点:开始是想把需要更新的数据等分到线程中去处理,不过搞了一段时间都没成功,主要是没有什么办法把动态参数从线程外传进线程内。后来换了个思路,每个线程去拿一条数据去更新原创 2015-03-27 18:16:23 · 39780 阅读 · 0 评论 -
Eclipse - 把一个普通项目转换成动态Web项目
目标:在Eclipse下,把一个普通项目转换成动态Web项目(就是变得可以用Tomcat, Websphere等容器加载Jar运行)步骤:1)项目右键》属性》Project Facets,选中Dynamic Web Module 和 Java,如图1:2)点击选项下面的 Further configuration available..., 设置一下,如图2、3:原创 2015-05-13 14:51:54 · 2737 阅读 · 0 评论 -
Q: IOException parsing XML document
Q: Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [xxx.xml]A: 方法有几种:1)Project > properties > Deployment Assemb原创 2015-05-14 14:30:28 · 754 阅读 · 0 评论 -
Web - 发布网址更改方法
目标:更改本地连接网址,e.g. http://localhost:8080/system/login.html方法:1)其中的8080 端口,可以在容器server 中设置,e.g. Tomcat2)deploy module name (e.g. 这里的system),更改org.eclipse.wst.common.component 文件:...原创 2015-05-14 14:24:25 · 864 阅读 · 0 评论 -
Spring 的事务管理(编程式和声明式)
From 《全面分析 Spring 的编程式事务管理及声明式事务管理》http://www.ibm.com/developerworks/cn/education/opensource/os-cn-spring-trans/Spring 事务属性分析事务管理对于企业应用而言至关重要。它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后转载 2015-06-18 16:53:52 · 684 阅读 · 0 评论 -
递归例子(Java)
目标:把一个关系型数据库中关系的并列型列表转换成为一个层级架构树。DB:parent node------ -------soft_1 staff_B soft_1 staff_C dev soft_1dev soft_2dev staff_A gm_A dev gm_A hr gm_A market hr staff_E soft_2原创 2015-06-18 09:41:15 · 606 阅读 · 0 评论 -
创建一个Tuple
目标:做一个tuple 存放pair 对象例子:比如我要存放的数据来自数据库,SELECT distinct host,platform FROM "Log_loginfo",host 和 platform 是一个pair 对象,用字符串串接麻烦又有提取回来失误的风险,用map本质上是key-value的关系而不是pair关系,因此,使用tuple来解决。tuple.java原创 2015-05-22 15:50:24 · 940 阅读 · 0 评论 -
eclipse 工程手工配置
.settingsorg.eclipse.wst.common.project.facet.core.xml (等同于 Right click Project > Properties > Project Facets)org.eclipse.wst.common.componentcontext-root: e.g. (与web 登录网址一致, e.g. http://loc原创 2015-06-01 16:13:28 · 595 阅读 · 0 评论 -
文字匹配解析例子(读取Json 格式配置文件)
目标:做一个文字匹配解析例子(这里这个例子是通过职位 title 得到真正级别 band,从而获取上下级关系)。功能:1)Json 格式配置文件读取;2)通过配置文件灵活控制解析功能,如:filter 匹配,bypass 不匹配,filter_reg 正则匹配,bypass_reg 正则不匹配。e.g. LangRecogUtilspublic class LangRecogU原创 2015-06-08 18:44:33 · 1149 阅读 · 0 评论 -
基于SpringMVC实现的RESTFul
目标:基于SpringMVC+Json+Ajax,实现RESTFul (新一代架构风格,简洁是其sell point,方便get / post 数据在浏览器与服务器间的流转)大体例子:annomvc-servlet.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.原创 2015-05-25 14:44:26 · 802 阅读 · 0 评论 -
动态网页爬取例子(WebCollector+selenium+phantomjs)
目标:动态网页爬取说明:这里的动态网页指几种可能:1)需要用户交互,如常见的登录操作;2)网页通过JS / AJAX动态生成,如一个html里有,通过JS生成aaa。这里用了WebCollector 2进行爬虫,这东东也方便,不过要支持动态关键还是要靠另外一个API -- selenium 2(集成htmlunit 和 phantomjs).1)需要登录后的爬取,如新浪微博原创 2015-06-10 18:14:00 · 7721 阅读 · 5 评论 -
一般cache的做法
其实比较简单,直接来个例子,e.g.TryCache.javapublic class InforoneCache implements Cache { class CacheObject { final K2 key; final V2 value; long lastModified; // 最后添加时间 long expire; // 对象存活时间 Cach原创 2015-05-26 10:47:00 · 546 阅读 · 0 评论 -
Java适合用于ETL?
突发奇想,能不能把异步响应式编程的rxJava(主要用于Android开发)应用于ETL,想法源于rxJava中提供了一系列operators如distinct、concatWith、count、filter、groupBy、limit、toSortedList、isEmpty等,感觉有点像SQL。实际试验后,原来rxJava还是比较适合于处理事件流而不是ETL,原因是rxJava缺乏data原创 2016-06-30 15:50:02 · 4271 阅读 · 0 评论