【原创】
文章平均质量分 63
冲杯茶喝
世界上本没有对错,当我们把自己做的事情定义为对,那跟自己做的事情冲突的自然成了错
展开
-
再谈Java原子变量以及同步的效率 -- 颠覆你的人生观
再谈Java原子变量以及同步的效率 -- 颠覆你的人生观原创 2014-11-18 15:07:00 · 2024 阅读 · 0 评论 -
Java Happens-before法则
Java存储模型有一个happens-before原则,就是如果动作B要看到动作A的执行结果(无论A/B是否在同一个线程里面执行),那么A/B就需要满足happens-before关系。在介绍happens-before法则之前介绍一个概念:JMM动作(Java Memeory Model Action),Java存储模型动作。一个动作(Action)包括:变量的读写、监视器加锁和释放锁、转载 2013-09-23 10:17:53 · 1575 阅读 · 0 评论 -
Logback+slf4j应用总结(下载地址已更新)
如果是刚刚接触logback,建议先下载本文最后的《Logback手册.pdf》官方手册阅读。1、 如何替换现有的log4j 现有项目: 去掉slf4j-log4j.jar和log4j.jar,添加logback-core.jar、logback-classical.jar。然后删除log4j.xml并且添加logback的配原创 2013-09-23 09:59:39 · 2415 阅读 · 0 评论 -
“装饰者模式”和“对象适配器模式”异同
这两种模式在Java IO包下应用很多典型的包装者模式:InputStream ---> FilterInputStream ---> InputStream典型的适配器模式:Reader ---> InputStreamReader ---> InputStream一、定义先看下两者的定义装饰者:不改变接口,加入新的责任适配器:讲一个接原创 2013-09-23 09:55:01 · 2423 阅读 · 0 评论 -
JS长整型精精度问题
转自《小牛虻》哦!问题描述:后台有一个脚本功能,可编写脚本动态调用Java代码importClass(com.ztgame.center.controller.api,P360ApiController);var roleId = 10214734953631045;p360ApiController.notice(roleId, 4);脚本执行转载 2013-09-23 09:50:41 · 2383 阅读 · 0 评论 -
单例模式的坑
先看一段代码/** * @author xiaofei.wxf */public class SingletonA { private SingletonA(){} static final SingletonB b = SingletonB.b; static final SingletonA a = new SingletonA();}/** * @原创 2015-02-15 16:07:26 · 1141 阅读 · 0 评论 -
AngularJS如何跨域发起Http请求(Access-Control-Allow-Origin)
做个记录,方法如下:app.config([‘httpProvider′,function(httpProvider', function(httpProvider) { httpProvider.defaults.useXDomain=true;deletehttpProvider.defaults.useXDomain = true; delete httpProvider.default原创 2015-07-29 11:25:31 · 5497 阅读 · 0 评论 -
Webx autoconfig 多环境打包 使用总结
背景最近在使用webx 的 autonconfig工具进行多环境间配置文件的变量替换。常常我们遇到不同环境打包问题都是自己搞一套脚步来做,但是如何成体系的解决这一问题?autoconfig工具主要有两个用法:不同环境环境的打包要使用不同的配置(如DB连接,版本信息等),这时候可以把需要替换的配置定义为占位符,使用maven的profile和maven的autoconfig插件来指定不同的prope原创 2015-07-31 15:57:20 · 2629 阅读 · 0 评论 -
Java进程堆外内存(off heap)大小
使用ByteBuffer.allocateDirect分配的off heap内存大小本机进程在Jvisualvm中安装 Mbeans插件,然后查看java.nio/BufferPool/direct 进程内使用代码获取MBeanServer mbs = ManagementFactory. getPlatformMBeanServer() ;ObjectName objectName = ne原创 2015-07-21 16:14:19 · 6375 阅读 · 0 评论 -
Mysql启动自动设置max_connections为其他值
背景有同学反应,产品连不上,登陆到服务器,发现连接数不够了。 接着先重启mysql,发现在mysql启动的时候会报WaringWarning Changed limits: max_open_files,max_connections=214处理/etc/security/limits.conf 中设置 * soft nofile 102400 * hard nofile 102400登出服务原创 2015-07-21 17:16:09 · 1847 阅读 · 0 评论 -
Java APNS开源库apns4j-1.0.1发布
Java APNS开源库apns4j-1.0.1发布原创 2015-04-23 16:56:24 · 2219 阅读 · 1 评论 -
UTF8编码
UTF-8是Unicode的实现方式之一。UTF-8的编码规则很简单,只有二条:1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号原创 2013-09-23 10:18:58 · 1208 阅读 · 0 评论 -
Java中有趣的事【集锦】持续更新ing
2----2 在vps服务器上,开发了一个web应用,部署在tomcat。好了,启动。打开服务器(win2003)浏览器访问,localhost/xxxx/xxxx ok,大功告成。外网接入我X,不行,一直处于加载状态? 赶紧找问题。防火墙? 防火墙关了再试,照样端口问题?到%TOMCAT_HOME%/conf/server.xml,修改之,HTTP端口改为其他,照样原创 2013-09-23 10:19:18 · 2217 阅读 · 0 评论 -
Java Annotation Retention(可见性)
注解有三个可见性:源码可见(SOURCE) 字节码可见(CLASS) 运行时可见(RUNTIME) 这三个可见性是层层递增的,也就是说运行时可见的注解在前两种状态都是可见的。下面来验证说明下 三个注解源码: TestAnnoRetentionSource:Java代码 @Retention(RetentionPolicy.SO原创 2013-09-23 10:24:11 · 1596 阅读 · 0 评论 -
新项目开发环境搭建遇到的问题排查(cannot assign requested address)
新项目开发环境搭建遇到的一个问题的排查(cannot assign requested address)原创 2015-07-13 13:00:39 · 5778 阅读 · 0 评论 -
权重随机的实现
权重随机在项目中经常用到,所以我把它抽象到一个工具类中。一般实现随机权重有两种方式:1. 使用一个数组存放权重对应的实际目标,比如A的权重是2,B的权重是3,那么数据长度为5, 数组前两个存放A,后三个存放B。然后随机一个0-数据长度的数字,直接取数组对应下标的值就可以了。优点:数据结构简单,算法搞笑,实现简单缺点:当权重值比较大同时数据又比较多的时候,会浪费内存原创 2014-05-05 16:34:42 · 2561 阅读 · 1 评论 -
NIO设置SO_LINGER引发的异常
### 背景银时跟我讲,想从 Netty3迁移到Netty4 。问其原因是因为 Netty3在容器里会报错,错误堆栈:java.io.IOException: 无法立即完成一个非阻止性套接字操作。at sun.nio.ch.SocketDispatcher.close0(Native Method)at sun.nio.ch.SocketDisp原创 2014-05-05 18:42:13 · 5832 阅读 · 0 评论 -
为没有本打算却没有做的分析准备的内容
这是曾经为一次分享准备的内容,但后来没有用上,这边记录下。内容是关于游戏服务器选型相关的内容。服务器分布式、架构 比如:1. 哪些业务是需要水平扩展,哪些数据是全局的(用户信息),哪些又是局部的(游戏区数据),尽量用成熟的产品避免单点2. 数据存储:文件存储、关系型数据库rdb(mysql、oracle、postgresql)还是NOSQL原创 2014-03-21 09:12:34 · 1284 阅读 · 0 评论 -
Netty HashedWheelTimer过多导致内存泄漏的排错
系统环境:CentOS release 5.6 (Final)Netty 3.6.5 final 发现问题:在一次压力测试中,发现Netty Based服务器连上4500+的clients就开始一直FullGC。解决问题:GC日志: Java代码 2013-07-01T09:24:52原创 2013-09-23 10:27:30 · 5836 阅读 · 1 评论 -
Jedis使用总结【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】
前段时间细节的了解了Jedis的使用,Jedis是redis的java版本的客户端实现。本文做个总结,主要分享如下内容:【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】好了,一个一个来。一、 Pipeline官方的说明是:starts a pipeline,which is a very efficient way原创 2013-09-23 10:13:11 · 1369 阅读 · 0 评论 -
【JAVA内存】如何计算一个Java对象占用的字节数
原文地址:点击打开链接 ,翻译有出入之处,请以原文为准本文中,我们讨论一个问题:如何计算(或者说,估算)一个Java对象占用的内存数量?通常,我们谈论的堆内存使用的前提是以“一般情况”为背景的。不包括下面两种情形: 某些情况下,JVM根本就没有把Object放入堆中。例如:原则上讲,一个小的thread-local对象存在于栈中,而不是在堆中。被Object占用内存转载 2013-09-23 09:53:24 · 1457 阅读 · 0 评论 -
Java 判断IP地址为内网IP还是公网IP
Java 判断IP地址为内网IP还是公网IP原创 2015-01-08 17:57:32 · 12912 阅读 · 4 评论 -
创建自己的Maven模板
参考链接:http://maven.apache.org/archetype/maven-archetype-plugin/一、其实Maven的模板也是一个maven项目,所以我们首先要生成一个生成模板的模板项目1. 随便找一个现成的maven项目 如果没有执行:mvn archetype:create -DartifactId=archetype-te原创 2014-04-20 16:05:13 · 4709 阅读 · 0 评论 -
java如何清理DNS Cache
一、测试环境OS:Windows7 x64JDK:1.6.0_45二、本人找到四种方式清理jvm的DNS缓存,大家可以根据自己的情况选用。 1. 在首次调用InetAddress.getByName()前,设置java.security.Security.setProperty("networkaddress.cache.ttl", "0"); 2. 修改jre/lib/s原创 2013-12-19 20:02:59 · 5794 阅读 · 0 评论 -
【最好用的】Java APNS开源库apns4j-1.1.1发布
开源地址:https://github.com/teaey/apns4j【最好用的】Java APNS开源库apns4j-1.1.0发布提升API的易用性,移除繁杂的初始化逻辑,入口集中到cn.teaey.apns4j.Apns4j提供简单的异步服务增加ios7以上静默推送设置(content-available)sendAndFlush -> send 或许开始就是个错误!减少build原创 2016-09-30 18:21:05 · 4542 阅读 · 0 评论