- 博客(143)
- 收藏
- 关注
转载 Java开发者常犯的10个错误
Java开发者常犯的10个错误下面列表总结了Java开发者经常犯的10个错误。1.将Array转换为ArrayList将数组转换为ArrayList,经常这样做: ListString> list = Arrays.asList(arr);11Arrays.asList()会返回一个ArrayList,但返回的这个ArrayList是Arrays类内部的一
2017-02-16 12:39:51
643
转载 Java 并发工具包 java.util.concurrent 用户指南
1. java.util.concurrent - Java 并发工具包Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包。这个包包含有一系列能够让 Java 的并发编程变得更加简单轻松的类。在这个包被添加以前,你需要自己去动手实现自己的相关工具类。本文我将带你一一认识 java.util.concurrent 包里的这些类,然后你可以尝试着如何
2017-01-14 15:24:07
813
转载 Java虚拟机详解----常用JVM配置参数
原文地址:http://www.cnblogs.com/smyhvae/p/4736162.html【声明】 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/文章来源:http://www.cnblogs.com/smyhvae/p/4736162.html联系方式:smyhvae@163
2016-12-30 18:17:11
737
转载 JAVA8之collect总结
一,collect是一个终端操作,它接收的参数是将流中的元素累积到汇总结果的各种方式(称为收集器)二,预定义收集器包括将流元素归约和汇总到一个值.如下工厂方法返回类型用于toListList把流中所有元素收集到List中示例:List menus=
2016-12-22 18:37:38
3521
转载 Java 8:CompletableFuture终极指南
Java 8来了,是时候学一下新的东西了。Java 7和Java 6只不过是稍作修改的版本,而Java 8将会发生重大的改进。或许是Java 8太大了吧?今天我会给你彻底地解释JDK 8中的新的抽象 – CompletableFuture。众所周知,Java 8不到一年就会发布,因此这篇文章是基于JDK 8 build 88 with lambda support的。CompletableFu
2016-12-22 11:34:59
16671
转载 jstack jstat jmap
form 点击打开链接java高分局之jstat命令使用jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意:使用的jdk版本是jdk8.类加载统计:C:\Users\Administrator>jstat -class 2060Loaded By
2016-11-18 17:01:31
1590
转载 jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令
1.Jstack 1.1 jstack能得到运行java程序的java stack和native stack的信息。可以轻松得知当前线程的运行情况。如下图所示 注:这个和thread dump是同样的结果。但是thread dump是用kill -3 pid命令,还是服务器上面少用kill为妙 1.2 命名行格式 jstack [ option ] pid j
2016-11-18 16:59:15
4293
转载 JVM 年轻代 老年代 持久代 GC
虚拟机中的共划分为三个代:年轻代(Young Generation)、年老点(Old Generation)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃圾收集影响比较大的。年轻代:所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周
2016-11-09 11:58:55
2962
转载 JVM参数配置总结
一、堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xm
2016-11-09 11:55:51
5142
3
转载 亿级Web系统搭建——单机到分布式集群
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。 Web负载均衡 Web负载均衡(Load Balancing),简单地说就是给我
2016-11-03 19:05:35
742
转载 wxWidgets编译安装gtk问题的解决办法
下面是google到的一篇博文。我在centos5.3中想安装amule,结果编译时,提示没找到wxWidgets退出了。只好又去下了wxWidgets,还是源码,需要编译。编译中出现和下面这位网友一样的问题,用他博文中提供的方法,还是不行。最后执行了一条yum install *gtk*, 装了大约54M的东西,再次执行configure,居然成功了。看来还是gtk没装好,如果有时间,应该可以找
2016-10-28 12:29:11
1486
转载 linux下安装RabbitMQ消息机制
RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用,具体特性还在验证中,待检验。由于项目需要,安装并配置了RabbitMQ,服务器操作系统是CentOS7。具
2016-10-28 11:08:01
1338
1
转载 Centos 6 下安装 erlang 手记
选择的操作系统为Centos6 ,erlang的最新版OTP17.0:1. 下载最新版erlang otp_17.02. 解压缩 tar -zxvf otp_src_17.03. 进入解压缩后的目录 4. ./configure --prefix=/opt/erlang --without-javac出现错误大致为: No curses li
2016-10-28 11:05:50
1208
转载 Spring Boot集成Swagger2
本节主要从以下几个方面进行讲解:(1)Swagger的产生;(2)Swagger的介绍;(3)新建maven java project;(4)在pom.xml添加依赖;(5)创建Swagger2配置类;(6)编写Controller测试类; 我们一起看看每个环节的具体知识。(1)Swagger的产生 我们的RESTful API需要
2016-10-27 10:53:58
7484
转载 Spring MVC之@RequestMapping 详解
引言:前段时间项目中用到了REST风格来开发程序,但是当用POST、PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/json, 而且服务器端通过request.getReader() 打出的数据里确实存在浏览器提交的数据。为了找出原因,便对参数绑定(@RequestParam、 @RequestBody、 @R
2016-10-27 10:52:13
526
转载 maven安装以及eclipse配置maven
0.Eclipse中配置Maven,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven到插件Maven Integration for Eclipse 并点击安装即可。值得注意的是Embedded内置的默认maven版本是我们即将要修改的,应为这个版本有点老了,这直接导致的后果就是在添加dependences的时候,maven的库不是最新的,
2016-10-25 12:42:27
509
转载 Nginx實現正向和反向代理
1.正向代理的概念正向代理 是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理髮送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。2.反向代理的概念反向代理正好相反,對於客戶端而言它就像是原始伺服器,並且客戶端不需要進
2016-10-19 21:20:52
850
转载 Java设计模式:命令模式(Command)
命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式的本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开,实现二者之间的松耦合。类图:模式结构:Command: 定义命令的接口,声明执行的方法。ConcreteCommand: 命令接口实现对象,通常会持有接受者,并调用接受者
2016-09-19 16:27:54
453
转载 不要写死!天猫App的动态化配置中心实践
不要写死!天猫App的动态化配置中心实践2016-03-15 高嘉峻 移动开发前线版权声明本文为天猫无线技术专家、苹果核博主高嘉峻的投稿,未经授权禁止转载不要写死,一个永恒的话题。动态化,也是一个涵盖了界面,功能,数据,配置诸多方面的一个宽泛话题。在之前的一篇《解耦神器 —— 统跳协议和Rewrite引擎》
2016-09-18 18:44:05
4443
转载 编程时避免使用 if 语句的五种模式
if语句的问题if语句的第一个问题在于,通常出现if语句的代码很容易越改越糟。我们试着写个新的if语句:public void theProblem(boolean someCondition) { // SharedState if(someCondition) { // CodeBlockA } else {
2016-08-30 22:48:27
4023
转载 微信支付H5调用支付详解
微信公众号支付H5调用支付详解最近项目需要微信支付,然后看了下微信公众号支付,,虽然不难,但是细节还是需要注意的,用了大半天时间写了个demo,并且完整的测试了一下支付流程,下面分享一下微信公众号支付的经验。一、配置公众号微信支付 需要我们配置微信公众号支付地址和测试白名单。 比如:支付JS页面的地址为 http://www.
2016-08-11 21:48:23
34412
11
转载 支付宝通知页面notify_url、返回页面return_url
返回页面(return_url文件)工作原理 即:商户系统请求/支付宝响应交互模式 1、 构造请求数据 商户通过提供的接口代码示例,通过代码示例的规则,程序构造与运算得到sign加密结果以及构造后的请求给支付宝的数据集合。GET方式下是URL地址链接,POST方式下是支付宝网关地址及参数集合。 2、 发送请求数据 把构造完成的数据集合,通过页面链接跳转或表单提交的方式传
2016-08-10 12:36:26
4983
转载 微信支付 java 服务端demo (v3版本app支付 springMVC框架中)
[java] view plain copy //静态资源 /** * @author 徐小骥 * @version :2016-5-9 上午11:43:48 */ public class WeixinPayConstants { public static final String appid =
2016-08-10 12:35:27
3254
转载 微信网页授权Java实现
功能:主要用于在用户通过手机端微信访问第三方H5页面时获取用户的身份信息(openId,昵称,头像,所在地等。。)可用来实现微信登录、微信账号绑定、用户身份鉴权等功能。 开发前的准备:1、需要有一个公众号,拿到AppID和AppSecret;2、进入公众号开发者中心页配置授权回调域名。具体位置:接口权限-网页服务-网页账号-网页授权获取用户基本信息-修
2016-08-04 13:22:20
10579
6
转载 在 Tomcat 中配置 SSL/TLS 以支持 HTTPS
首先是申请证书,可以用java自带的keytool生成证书语句如下: keytool -genkey -alias tomcat -keyalg RSA -keystore /home/rainman/.keystore没有设置全局变量的话,也可以进入java的目录,如/usr/java/jdk1.6.0_04/bin/keytool -genkey -alias tomc
2016-07-22 14:24:52
2778
转载 Spring 表达式语言之 SpEL 语法
5.3 SpEL语法5.3.1 基本表达式一、字面量表达式: SpEL支持的字面量包括:字符串、数字类型(int、long、float、double)、布尔类型、null类型。类型示例字符串String str1 = parser.parseExpression(“‘Hello World!’”).getValue(String.class);Strin
2016-07-14 15:19:30
15808
转载 为Elasticsearch添加中文分词,对比分词器效果
Elasticsearch中,内置了很多分词器(analyzers),例如standard (标准分词器)、english(英文分词)和chinese (中文分词)。其中standard 就是无脑的一个一个词(汉字)切分,所以适用范围广,但是精准度低;english 对英文更加智能,可以识别单数负数,大小写,过滤stopwords(例如“the”这个词)等;chinese 效果很差,后面会演示。这
2016-06-23 18:40:59
2380
转载 [Elasticsearch] 数据建模 - 处理关联关系(1)
数据建模(Modeling Your Data)ES是一头不同寻常的野兽,尤其是当你来自SQL的世界时。它拥有很多优势:性能,可扩展性,准实时的搜索,以及对大数据的分析能力。并且,它很容易上手!只需要下载就能够开始使用它了。但是它也不是魔法。为了更好的利用ES,你需要了解它从而让它能够满足你的需求。在ES中,处理实体之间的关系并不像关系型存储那样明显。在关系数据库中的黄金准
2016-06-23 12:10:50
1730
转载 Spring3.1 对Bean Validation规范的新支持(方法级别验证)
上接Spring提供的BeanPostProcessor的扩展点-1继续学习。 一、Bean Validation框架简介 写道Bean Validation standardizes constraint definition, declaration and validation for the Java platform.大体意思是:Bean Validation 标准化
2016-06-21 17:57:38
5462
转载 Java BeanValidation
SR(Java Specification Requests,Java规范提案) 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案。2009 年 12 月 Java EE 6 发布,Bean Validation 作为一个重要特性被包含其中。hibernate Validator 是 Bean Validation 的参考实现 . H
2016-06-21 11:33:06
544
转载 Spring4——集成Bean Validation 1.1(JSR-349)到SpringMVC
在之前的《跟我学SpringMVC》中的《第七章 注解式控制器的数据验证、类型转换及格式化》中已经介绍过SpringMVC集成Bean Validation 1.0(JSR-303),目前Bean Validation最新版本是Bean Validation 1.1(JSR-349),新特性可以到官网查看,笔者最喜欢的两个特性是:跨参数验证(比如密码和确认密码的验证)和支持在消息中使用EL表达
2016-06-21 10:40:54
1168
转载 Elasticsearch数据迁移与备份
虽然ES提供了replicas shards的机制来保证数据的完整性不会因为几个节点的奔溃而被破坏,但是定期的数据备份以备不时之需依然重要。此外,通过备份与恢复也可实现数据在不同集群间的迁移(直接复制data目录下的索引文件的做法我尝试过,但没有成功)。备份的方式在 官方文档 里有清楚的交代:先创建仓库(repository),再往仓库里添加一个快照(snapshot),查看备份状态,搞定
2016-06-20 10:46:52
7501
转载 @RequestParam @RequestBody @PathVariable 等参数绑定注解详解(转载)
转载自:http://blog.csdn.net/walkerjong/article/details/7946109 学习了下,对@RequestBody,@SessionAttributes,@ModelAttribute还不是很了解,继续学习,也望知道的能告诉我一下,谢谢。简介: handler method 参数绑定常用的注解,我们根据他们处理的Request的不同
2016-06-14 14:03:40
2536
转载 RESTful架构详解
111. 什么是RESTREST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理
2016-06-13 15:44:41
459
转载 Java8中时间日期库的20个常用使用示例
除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API。Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateFormat实现成非线程安全的。看来Java已经意识到需要为时间及日期功能提供
2016-06-07 19:59:48
3806
转载 jackson annotations注解详解
官方WIKI:https://github.com/FasterXML/jackson-databind/wikijackson 1.x和2.x版本的注解是放置在不同的包下的1.x是在jackson core jar包org.codehaus.jackson.annotate下2.x是在jackson-databind包com.fasterxml.jackson.annot
2016-06-06 11:50:59
1977
转载 log4j配置详解
Xml代码 value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
2016-06-03 11:09:44
8948
转载 Spring 中一个常用的反射类库ReflectionUtils
在项目中部分方法采用反射,通过类访问类的属性,通过类反问方法,通过属性访问方法。以及常用异常的处理在等可以使用反射出处理。 public abstract class ReflectionUtils { //根据类和属性名称查找属性字段//Attempt to find a {@link Field field} on the supplied {@link Class} w
2016-06-02 16:56:12
13444
转载 Java注解教程:自定义注解示例,利用反射进行解析
Java注解能够提供代码的相关信息,同时对于所注解的代码结构又没有直接影响。在这篇教程中,我们将学习Java注解,如何编写自定义注解,注解的使用,以及如何使用反射解析注解。注解是Java 1.5引入的,目前已被广泛应用于各种Java框架,如Hibernate,Jersey,Spring。注解相当于是一种嵌入在程序中的元数据,可以使用注解解析工具或编译器对其进行解析,也可以指定注解在编译期或
2016-05-31 21:29:20
322
转载 ES 索引别名和零停机时间
重新索引过程中的问题是必须更新你的应用,来使用另一个索引名。索引别名正是用来解决这个问题的!索引 别名 就像一个快捷方式或软连接,可以指向一个或多个索引,也可以给任何需要索引名的 API 使用。别名带给我们极大的灵活性,允许我们做到:在一个运行的集群上无缝的从一个索引切换到另一个给多个索引分类(例如,last_three_months)给索引的一个子集创建 视图我们以后会讨论更多别
2016-05-30 15:48:44
2089
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人