![个人头像照片](https://ucc.alicdn.com/avatar/avatar3.jpg)
暂无个人介绍
2017年9月Java9正式发布,之前就一直听说新版会有模块化,仔细了解下Java9的发展史,这个模块化确实比较坎坷,当然,好事多磨嘛。 1、相关组织 JUG:Java User Groups(Java用户群),以下是JUG官方提供的组织列表,其中有两个是大陆的,一个在南京,一个在杭州,个人感觉南京的现在不怎么活跃了,之前在南京时参加过南京JUG组织的活动。杭州的JUG应该我们公司的同学比较
1、导入maven工程时才是失败或无反映 排查方法:查看IDEA的日志或event log,检查DNS绑定是否修改过,是否有 127.
初学GO语言可能会感觉到很枯燥,而且GO和其他的编程语言的语法还有很大的差异,可能刚开始很难入门,为了提高对GO语言的学习兴趣,快速地掌握GO的基本语法,我尝试写了个类似后门的小程序,主要...
随着NOSQL数据库的广泛应用,可扩展的存储方式在关系型数据库中也有了很好的支持,最新的MySQL5.
让Maven自动下载更新SNAPSHOT版本的依赖 idea的默认Maven设置是不会更新下载snapshots的依赖jar包的,所以会出现每次更新代码不是最新的情况,这时需要修改P...
术语 Guice:整个框架的门面 Injector:一个依赖的管理上下文 Binder:一个接口和实现的绑定 Module:一组Binder Provider:bean的提供者 Key...
对SQL查询语句进行执行性能分析: 1、set profiling=1; 开启性能统计 2、show profiles; 显示统计结果 3、show profile for query 1; 显示具体的统计结果 具体每个步骤的精确耗时 如果是root用户,可以直接查看information_schema的PROFILING表,可以看到每步具体对应于源码的哪一行。
JavaScript是web前端开发的必备技能之一,在如今各种JS框架满天飞,我们如何选择并应用成了困扰,而且最头疼的是那么多浏览器与那么多的版本让应用的兼容性也成了前端的难题。
溢出文本显示省略号的效果: white-space:nowrap; 强制文本在一行显示 overflow:hidden; 溢出内容为隐藏 text-overflow:ellipsis; 当对象内文本溢出时显示省略标记(.
H5性能优化的两个原则 1、最少化请求个数 2、最小单个文件大小 最少请求个数 为什么要减少请求次数: 手机浏览器同时响应请求为4个请求(Android支持4个,iOS 5后可支持6个) 如...
nodejs npm安装代理设置: npm config set proxy http://username:password@host:port 安装第三方模块 npm install mongodb/mysql/express/redis/.
Python写的Web spider: # web spider # author vince 2015/7/29 import urllib2 import re # get href...
对于应用规模不大的,不建议采用solrcloud,传统的主从方式更容易维护和使用,对于数据规模较大的应用,建议采用solrcloud的部署方式,solrcloud是HA的架构,高可用性,有点类似于MongoDB的分片架构,采用的Zookeeper作为协调管理器,对于Zookeeper参见我之前的文章中的介绍。
最近遇到的一个关于POST请求中文乱码的问题,原本应用是在TOMCAT上运行的,切换到Wildfly8后,测试环境是正常的,但生产环境下客户端发出的相同请求在服务端获取到的中文出现了乱码,在经过定位后发现是Wildfly8的一个配置引起的。
Cookie的安全往往被程序员们所忽视,首先来了解一下Cookie是什么? 背景: 程序员们用Session在服务端保存着和用户相关的信息,当用户退出时,或关闭浏览器时session就失效了,这时程序员们希望通过用户每次请求时所带的一些数据来识别之前登录过的用户,于是在用户的浏览器中就出现了Cookie。
苹果消息通知什么? 如下图如示 就是APP的服务端在用户未打开APP进程时,还能发通知给用户APP的服务技术 相关概念 Provider:提供推送的第三方服务系统 Device:苹果设备,...
安全编程能够体现一个程序员是否合格,什么是安全编程,就是在开发阶段避免系统漏洞,根据乌云漏洞平台的统计,2014排行前10的安全问题如下: SQL注入攻击: 最容易由程序员的编程疏忽产生的漏洞是SQL注入和XSS,SQL注入的危害严重的情况是泄漏整个数据库的信息,后果不堪设想,XSS的后果严重的情况使用户信息泄漏。
RPC是远程过程调用的简称,广泛应用在大规模分布式应用中,作用是有助于系统的垂直拆分,使系统更易拓展。
import java.io.BufferedInputStream; import java.
Undertow简介 Undertow 是RedHat(红帽公司)的开源产品,采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制。
最近项目里遇到一个问题,就是在wildfly-8.1.0的同一个server上布署多个war,且这几个war中都依赖了netty3,导致只能有一个war包成功,经过排查,发现是jboss服务器本身的一个bug(https://issues.
1、StringBuffer 与 StringBuilder StringBuffer自JDK1.0就有了,继承自AbstractStringBuilder类,是线程安全的类,推荐在多线程环境下使用;StringBuilder是JDK1.5才加的,多线程环境下不推荐使用,非线程安全的工具类,但是单线程环境下比StringBuffer性能提高很多;StringBuffer的线程安全是用synchronized实现的,隐式加锁。
以前配置过tomcat的https,切换WildFly8后要配置https,然而WildFly8配置https与tomcat配置https又不相同。
事务(Transactional): 在软件开发领域,全有或全无的操作被称作事务,事务具有四个特性:ACID。
在上一篇中《图解WildFly8.x配置JNDI数据源》没有说明数据库的驱动是如何设置的,本文以Mysql的驱动设置为例进行详细的补充,主要是利用JBoss的模块化设计思想,让系统启动更快,更充分地利用内存。
最近公司一直在推广使用JBoss,以前用的要么是Tomcat,要么是IBM的WAS,这里记录一下自己的转型过程,首先是安装Eclipse插件,具体步骤如下,如果是代理上网的,要在Eclipse里设置代理。
AOP(Aspect Oriented Programming)就是面向切面编程,也是一种编程思想,接触了JAVA是Spring框架后我才了解AOP,在我的工作中会经常用到,举个存储分层的例...
最近工作中经常要用到QrCode二维码,研究了一下,写了个带圆角LOGO的JAVA实现,QrCode之所以能在中间放个LOGO图标,是因为编码时的信息冗余。
根据上篇文章《图解MongoDB原理》的基本介绍,本文以具体的操作为例继续深入解析mongodb。
Redis是一个比较常用的nosql数据库,数据都在内存中,和传统的关系型数据一样,Redis也有个图形化的管理工具:RedisDesktopManager。
我在工作中遇到了IM集群环境下消息路由问题,当集群数小时可以用内存共享的方案,当集群结点变多时,共享的数据同步会成为系统的瓶颈,为此我从网络中TCP报文的路由原理得到灵感,想了一个不用共享内存的方案,而且理论上支持大规模的集群。
在大数据和云计算普遍的今天,越来越多的应用使用了Apache下zookeeper这个利器,举几个家喻户小的,像HBase,Kafka,国内阿里巴巴开源的Dubbo等。
在网络状况不好的情况下,对于文件的传输,我们希望能够支持可以每次传部分数据。首先从文件传输协议FTP和TFTP开始分析, FTP是基于TCP的,一般情况下建立两个连接,一个负责指令,一个负责数据;而TFTP是基于UDP的,由于UDP传输是不可靠的,虽然传输速度很快,但对于普通的文件像PDF这种,少了一个字节都不行。
搜索中的分词器有很多种,包括中文、英文,一般的网站都会有站内搜索功能,也就是对用户输入的内容进行处理,本文对中文的全拼实现了一 个分词器,原理很简单,就是模式匹配。
Apache Flex是基于MXML和ActionScript的Flash程序设计框架,可以快速开发RIA(富Internet应用)程序,Netty是JAVA实现的高性能的网络通信框架,可以快速构建网络应用的服务端。
简单地说,网络通信时由于TCP会对传输的数据报进行对用户透明的拆分与重新组装,然后将拆分后的分别发送,而我们接收时要获取发送时的数据报,如何再对其拆分与组装,以便于我们能知道报文的意思,这个提取报文的过程就是TCP的拆包与粘包,在我们自己做底层的通信设计时,这是必须要考虑的。
之前写过一篇简单使用Jetty的文章,Jetty对于做JAVA Web方面开发的人来说并不陌生,他是一个servlet容器,不过相对Tomcat来说设计的比较简单,而且使用起来也比较简单灵活,我是在学习和使用openfire时接触的Jetty,openfire使用Jetty开发其强大的管理后台。
最先接触erlang是在今年的年初,当时是因为RabbitMQ而结识的erlang,了解后才知道的COP(Concurrency Oriented Programming)面向并发编程。
企业的APP开发中,对于苹果设备有个独特的通知推送功能要解决,尤其是在做移动IM时,对APNS(Apple Push Notification Service)的要求比较高,虽然有专门的第三方提供此类服务,但出于安全的考滤,有能力的公司宁愿自建推送服务系统。
这里全部文章自于IBM的开发者技术交流网站: http://www.ibm.com/developerworks/cn/ 1.
最近写了个简单的类似SpringMVC的小容器,在Jetty中运行,在这里分享一下。 主要用到的第三方JAR包如下: 工程代码结构如下: 我设计的思想来源于SpringMVC,也采用注解和反射的方式加载类,用freemarker作为Model和View的合并工具。
为什么我会把volatile与zookeeper放在一起,原因是这两个有个共同点,就是可见性。
序列化指将对象转换成二进制数据,反序列化是指将二进制数据转换成对象。 常用的跨语言的序列化与反序列化工具有JSON,XML(XStream),JBoss的Marshalling,Apache的Thrift,Google的ProtoBuf等,JAVA语言还有Serializable和自定义的Externalizable。
之前写了一篇关于RabbitMQ的入门文章,深入了解和使用后,更多的人会关注其在生产上的应用,我结合工作中的项目,总结了关于RabbitMQ在生产上的架构方案, 我画了一个关于RabbitMQ HA(高可用性)的使用架构图: 图中的MQ集群结点分为两类,一类是内存结点(RAM Node),另一类是磁盘结点(Disc Node),内存结点是性能高但没有持久化,磁盘结点则负责数据的持久化功能。
消息生产者: import org.apache.qpid.amqp_1_0.jms.
企业应用中会经常用到基于Http的文件上传,其中Multipart是多文件上传所使用的,在用JAVA开发时有时会用第三方类库来拼HTTP报文,有时则手动组装, 然后手动组装前先要了解一下报文的格式,如下是HTTP的报文头: POST /test/upload HTTP/1.
题目: 给定“abcdefg” 7个字母,写一个程序将其中任意的字母组合输出,要求每种组合中每个字母最多出现一次,字母的不同位置顺序算不同的组合,例如ab和ba是不同的组合。