
java
文章平均质量分 81
xingyuaini
这个作者很懒,什么都没留下…
展开
-
cocos2dx 搭建不同的开发环境
声明:我是才用c/c++和cocos2d-x的如果有错误欢迎指出 文章内容我亲测过可以通过,同时我也会一直更新内容 感谢那些把自己的东西分享出来的人 cocos2d-x版本更新快,教程资料跟不上,最近需要用cocos2d-x找了好多资料才搞定,写在这里分享给需要的人这篇教程没有写出详细的步骤但会给出参考文章,如果我写的简略你看不懂可以看参考的原文,要注意的就是看原文...原创 2014-05-08 10:52:47 · 150 阅读 · 0 评论 -
java常用JVM参数
-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2 sur...原创 2015-06-15 13:49:33 · 183 阅读 · 0 评论 -
java 同步异步 阻塞非阻塞
同步异步 阻塞非阻塞 按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用(select/poll/epoll)、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO 如何理解这几个概念,我个人来言,可以从java线程的角度去分析。现在有件事情,我要去图书馆借书,那我本人就是一个线程,借书是个事件,假如借书这个事件要...2014-09-23 11:33:54 · 294 阅读 · 0 评论 -
java 内存模型
java内存模型,在这里发几个很只管的图,看了之后很容易理解 ...2014-09-26 16:45:28 · 112 阅读 · 0 评论 -
java 锁性能
java锁消耗的性能,主要是多线程先cpu对线程的调度消耗的,在有锁的情况下,cpu要调度某个线程可用,某个线程不可用,这些本来就是要消耗系统资源的。所以个人认为,多线程下性能下降的原因主要是两方便的,第一 锁消耗性能,第二是线程调度消耗性能。以下通过两个方便为别测试。 首先是单线程下,锁消耗的性能: public class Test { priva...2014-10-08 16:59:32 · 299 阅读 · 0 评论 -
java 同步之CountDownLatch、CyclicBarrier
java api提供了很多线程同步有关的类和接口,所有的源码都在java.util.concurrent这个包中,主要原子的类和线程安全的集合框架,还有就是重要的锁的实现,锁的实现在juc的locks这个包中,本节不讨论锁的实现,主要是说明和使用juc下的CountDownLatch和CyclicBarrier CountDownLatch 源码解释<!-- Gen...2014-10-09 14:30:44 · 109 阅读 · 0 评论 -
java 生产者消费者例子
用synchronized wait及notify实现 简单的生产者消费者的例子。以下是代码部分 /** * Test.java Create on 2014年10月10日 * * Copyright (c) 2014年10月10日 by dzh* * @author <a href="xingyu@gw.com.cn">xing...2014-10-10 13:56:58 · 119 阅读 · 0 评论 -
synchronized与lock 对象锁、互斥锁、共享锁以及公平锁和非公平锁
该博客已经搬迁,请移步到这里2014-10-10 16:39:42 · 447 阅读 · 0 评论 -
amoeba for mysql mysql分库
amoeba for mysql 实现mysql分库的代理2015-07-31 14:14:28 · 176 阅读 · 0 评论 -
java String 参数传递 按值与地址
今天看erlang,看到一个最基本的问题,就是方法调用或函数调用时,参数传递的方式,大家都知道在Java中,基本类型是通过按值传递的方式,来实现参数传递,而对象类型则是通过按引用地址传递的,但是这个里面有一个Java里面被作为基本类型的对象,就是string,在其他语言中,基本上是没有String基本类型的,比如c++,erlang等,所以Java中,String这个对象比...2016-08-03 16:03:50 · 852 阅读 · 0 评论 -
Java 内存泄漏
话不多说上一张图 这种图上的内存,每隔差不多五分钟的时间,内存就被跑满,然后一次fullgc,内存瞬间下来,初发现这个问题的时候,肯定是内存泄漏了,开始找有没有什么死循环之类的,用jprofiler找到对象最大的对象,然后找到new出来的对象地方,发现没有出现什么死循环之类的。困惑了好久,最好仔细分析一下,如果真是死循环,那么就...2016-08-03 16:31:35 · 141 阅读 · 0 评论 -
eclipse 远程调试
为了远程调试一个Java应用程序,确保JVM的调试选项如下: java -Xdebug -Xrunjdwp:transport=dt_socket,address=8080,server=y -jar XXX.jar2014-04-28 11:35:58 · 83 阅读 · 0 评论 -
java对象占用多少字节
随笔- 94 文章- 9 评论- 303 一个Java对象到底占用多大内存? 最近在读《深入理解Java虚拟机》,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存?在网上搜到了一篇博客讲的非常好:http://yueyemaitian.iteye.com/bl...原创 2015-10-23 17:54:17 · 237 阅读 · 0 评论 -
true false Boolean之前的关系
Boolean value = false?false:(false?true:null); 这个公式 看起来没任何问题 希望获得的结果是null,但是运行的结果 确实很惊人 这个代码执行 结果竟然是“空指针” ,这个牵涉到Boolean的自动封箱问题 使用javap 反编译之后 发现java底层根据情况进行了优化,判断这种情况要自动封箱,但是直接为null就不会...2015-10-29 21:11:43 · 228 阅读 · 0 评论 -
jstack dump日志文件详细分析
jstack Dump 日志文件中的线程状态dump 文件里,值得关注的线程状态有: (特殊颜色的部分需要重点关注) 死锁,Deadlock 执行中,Runnable 等待资源,Waiting on condition 等待获取监视器,Waiting on monitor entry 暂停,Suspended 对象等待中,Object.wait(...2014-10-28 17:46:20 · 2097 阅读 · 0 评论 -
tomcat解决跨域问题
修改tomcat下的web.xml文件 增加以下filter,用来解析跨域访问 <filter> <filter-name>CORS</filter-name> <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-c...2015-12-09 17:10:47 · 887 阅读 · 0 评论 -
麻将胡牌逻辑 java
最近写了一个麻将的胡牌逻辑,这个麻将是没有万字牌 和 东西南北风牌,以前也写过麻将胡牌逻辑,都没有记录,这次记录一下,方便以后查阅 /** * 胡牌 * @param isZiMo 是否自摸 * @param roleId 胡牌玩家 * @param pcc 麻将场 */ public static boolean hu...2016-11-30 17:44:26 · 855 阅读 · 0 评论 -
linux 启动java进程 sh文件
#!/bin/bash#初始化服务器的进程PId变量user_pid=0;robot_pid=0;loadlort_pid=0;gateway_pid=0;##########检查相关服务器是否启动成功#说明:#使用JDK自带的JPS命令及grep命令组合,准确查找pid#jps 加 l 参数,表示显示java的完整包路径#使用awk,分割出pid...2015-04-13 14:50:34 · 522 阅读 · 0 评论 -
Glances
glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。glances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:CPU 使用率内存使用情况内核统计信息和运行队列信息磁盘 I/O 速度、传输和读/写比率...2014-04-15 10:02:22 · 198 阅读 · 0 评论 -
java实现快速排序
public class QuickSort{ public void sort(int[] arr,int low,int high){ int pos=0; if(low<high){ pos=part(arr,low,high); sort(arr,low,pos-1); ...2014-07-18 10:15:12 · 86 阅读 · 0 评论 -
System.currentTimeMillis()与System.nanoTime()
一直以为java的sleep不准,原来是测量方法错了--一直都是用System.currentTimeMillis()来计算时间差,实际上这是不准确的,System.currentTimeMillis()的返回有10到15毫秒误差,用来测量Thread.sleep(0)得到的要么是0要么是10或15, 但用System.nanoTime()来测量的话,误差不超过1毫秒. API 解释...2014-07-18 10:20:12 · 314 阅读 · 0 评论 -
java 引用之软引用与弱引用
package cache; import java.lang.ref.Reference;import java.lang.ref.WeakReference;import java.util.Map;import java.util.WeakHashMap;import java.util.concurrent.locks.ReentrantR...2014-07-18 10:26:50 · 99 阅读 · 0 评论 -
java 静态导入 import static和import的区别
import static静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后...2014-07-18 15:03:26 · 368 阅读 · 0 评论 -
java 内部类 静态方法中new 内部类
最 近在看Java,在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一个内部类。结果编译时出现:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instance of type E(e.g. x.new A() where x is an i...2014-07-22 17:17:02 · 664 阅读 · 0 评论 -
mysql 锁表还是锁行
关于mysql的锁行还是锁表,这个问题,今天算是有了一点头绪,mysql 中 innodb是锁行的,但是项目中居然出现了死锁,锁表的情况。为什么呢?先看一下这篇文章。 做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为Select ...2014-07-24 17:15:27 · 282 阅读 · 0 评论 -
java 锁的原理描述
java的锁 synchronized 其实就是锁对象 , 原来锁对象, 不是说把整个对象都只能给这一个线程用,可以同时多个线程获得这个锁,获得这个锁的原理是, 获得这个对象的监视器,拿到这个监视器,就相当于获得进入这个对象的权利,然后等到jvm的调度进入对象。java锁的实现原来是通过计数器实现的,当一个线程获得监视器计数器就加1,释放这个监视器就减1 当计数器为0的时候, 锁...2014-07-30 14:27:18 · 379 阅读 · 0 评论 -
java 多线程之wait,notify,sleep,join
java多线程编程离不开锁,和锁管的几个函数有wait,notify,sleep,join等 首先来看这个几个方法的结构以及所在的类 wait和notify以及notifyAll 都是在java的超类Object里面,这样设计的目的,个人见解可能是实现面向对象的需要,把每个对象都放在jvm的等待队列里面 sleep和join 都是在类thread中 ...2014-08-05 17:20:21 · 202 阅读 · 0 评论 -
java 一个会发生死锁的例子
/** * DeadLockThread.java Create on 2014年8月5日 * * Copyright (c) 2014年8月5日 by dzh * * @author <a href="xingyu@gw.com.cn">xingyu</a> * @version 0.0.1* */ package org.dz...2014-08-05 18:07:07 · 105 阅读 · 0 评论 -
eclipse开发 javafx
了解过JavaFX的都知道,JavaFX自从2.0版本开始,已经完全抛弃了之前的 script语言,才用纯java来实现。这样的好处就是1.让使用Java的IDE进行JavaFX的开发成为可能,2.Java与JavaFX的 API相互调用更容易 3.JavaFX的程序部署也更简单. e(fx)clipse就是一个eclipse上用来开发JavaFX的插件。不仅如此,在官网上还可以下载包...原创 2014-03-18 16:28:59 · 302 阅读 · 0 评论 -
linux上查看java服务器信息的命令 jmap jstack jinfo等等
网上这方便的介绍太多太多,本文章主要是个人为了好记性不如烂笔头的古训所写,以方便以后查阅,不喜勿喷。 1.netstat 查看linux服务器网络连接的连接数以及相关信息 netstat -nat|grep -i "80" |wc -l 查看所有80端口的连接数 netstat -ntu | awk '{pri...原创 2014-08-15 18:07:08 · 1319 阅读 · 0 评论 -
监控JVM工具
JDK内置工具使用jps(Java Virtual Machine Process Status Tool) 查看所有的jvm进程,包括进程ID,进程启动的路径等等。jstack(Java Stack Trace) ① 观察jvm中当前所有线程的运行情况和线程当前状态。 ② 系统崩溃了?如果java程序崩溃生成core文件,jstack工具可以用来获得core...原创 2014-03-25 11:33:59 · 104 阅读 · 0 评论 -
游戏服务器JVM性能调优
最近开始优化页游服务端的性能,一些心得总结一下。现在的服务器硬件越来越好,几十G内存,十几个CPU。当硬件不是瓶颈的时候,如果让程序发挥最大效用就成了我们需要考虑的问题。就游戏服务器来说,得满足几个要求,高负载,低延时。特别是在开服当天,大量用户会涌进来,可能给服务器造成压力。使用Java作为服务器语言,除了程序本身的性能外,JVM的配置也直接影响到系统性能。参数调优入门级别的配置一...原创 2015-03-03 09:40:18 · 263 阅读 · 0 评论 -
java 锁与监听器
如果你在大学学习过操作系统,你可能还记得监听器在操作系统中是很重要的概念。同样监听器在java同步机制中也有使用,本文通过类比的方法来解释“监听器”的基本思想。什么是监听器?监听器可以看成是包含了一间特殊房间的建筑,这间特殊的房间在同一个时间只能被一个客人(线程)拥有,通常这间房间包含了一些数据和代码。如果一个客人想拥有这间特殊的房间,他不得不首先在走廊(进入集)中等待着,然后调...2014-08-21 11:38:38 · 379 阅读 · 0 评论 -
通过JNI java 调用c++
java 调用c++ java调用c++ 用的是java的JNI技术即java native interface,这个就是java调用c++底层接口, 通过用jni 可以实现java和jvm以外的c++通讯互相调用。 首先新建一个java项目,在此命名为HelloWorld,然后新建一个包为jni,在jni下新建一个类命名为HelloWorld 项...2015-03-11 16:23:50 · 379 阅读 · 0 评论 -
java jni调用c++ 代码 报错
## A fatal error has been detected by the Java Runtime Environment:## EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000777c3290, pid=5632, tid=6656## JRE version: Java(TM) SE Runtim...2015-03-20 19:17:20 · 1009 阅读 · 0 评论 -
jmap -histo pid | head -n 20
查看某个进程的对象占用对象最大的命令: jmap -histo pid | head -n 202018-04-08 10:35:06 · 2405 阅读 · 1 评论