- 博客(169)
- 资源 (25682)
- 收藏
- 关注
原创 jvm的内存调优
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。方法区属于非堆内存。
2023-09-12 19:19:53 304
原创 基于nginx的tomcat负载均衡和集群(超简单)
要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了。即使真的要Session共享,我认为手动写代码保存到Memcached比为Tomcat加插件好,这样能获得更好的可控性。略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法。weight(server的使用权重,数值越大,nginx分发的请求越多)你可以自己写tomcat的扩展来保存SESSION到memcached。
2023-09-11 09:56:22 692
原创 Spring3.2.3+Quartz2.2.1 整合配置
- 这个就是具体实现类,如果是注解,则必须为component指定value -->-- targetMethod是Spring定时器的特殊属性 -->-- targetObject是Spring定时器的特殊属性 -->* *</value><!-- cronExpression是Spring定时器的特殊属性 -->-- triggers是Spring定时器的特殊属性 -->-- jobDetail是Spring定时器的特殊属性 -->-- 就是java类中的任务方法 -->--动态定时事件 -->
2023-09-10 17:51:05 243
原创 javax.mail 遇到501 mail from address must be same as authorization user 的問題
*运行到此处时就会报错,但前一个send不执行的话,此处就正常运行*/ sendMail.send(receiver,title,content,sendUser,SendUserId,sendPassword);// 设置邮件发送日期。
2023-09-10 14:42:21 692
原创 flashcache的实现与分析
逻辑处理模块,在代码中对应flashcache_io_callback,它在调度模块通过底层存储模块执行数据读写 操作完成后回调执行,所以说它是“读写后处理模块”,它是采用状态机实现的,根据调度模块中的读写类型进行后续的处理,如读未命中情况下,磁盘读完成后, 回调到逻辑处理模块,由它负责将从磁盘读取的数据写回到SSD,或者写未命中情况下,写SSD完成后,回调到逻辑处理模块执行元数据的更新,再有就是对调 度模块中读写操作的错误进行处理。如果对底层的这些块设备操作, 那么会失去作为一个整体提供的缓存功能。
2023-09-09 17:47:30 191
原创 同一台Windows机器中启动多个Memcached服务
同样,后面的其它参数比如group= , displayname=的等号后面都需要空格,假设Memcached在如下目录:C:\memcached\memcached.exe。在CMD中执行如下命令即可再安装一个Memcached服务(记得换个端口号啊!sc cretate命令后面带的参数比如[binPath= ]的等号后面。否则,sc create命令都不能成功创建服务,只会返回给你帮助信息。请好好check下你输入的命令。
2023-09-09 14:31:58 137
原创 Quartz 有状态的JobDataMap
假如你有已存在的 Job 类,你所有要做的只是改变 Job 的接口为 org.quartz.StatefulJob。的时候是全新的对象。所以,只有JobDetail的JobDataMap是共用的,其他的trigger.getJobDataMap(),context.getMergedJobDataMap(),等这些JobDataMap,任然是全新的。当实现有状态接口,StatefulJob时,只有JobDetail的JobDataMap是共用的,其他的,比如,Job本身,Trigger等,仍然每次执行。
2023-09-08 13:22:44 180
原创 不同版本(2.3,2.4,2.5) web.xml 的web-app头信息
web-app>...</web-app>...</web-app>...</web-app></beans>或。
2023-09-08 10:37:54 101
原创 quartz 中JobExecutionContext的使用
每个JobDetail都关联了一个JobDataMap实例,JobDataMap是java.util.Map的子类,基本上是提供key- value形式的数据,并提供了一些便利方法(主要是对java基本数据类型的支持,如put(String key,int value)),当开发人员创建JobDetail的时候,可以把附加信息放到JobDataMap中,那么在execute方法中可以根据key找到需 要的值。比如说execute。中希望发送一封邮件,但是我需要知道邮件的发送者、接收者等信息?
2023-09-07 18:22:22 239
原创 Java: 复制文件最快方法
利用Java复制文件到处都可以用到,这里总结了一个类供大家参考。overlay 如果目标文件存在,是否覆盖。如果复制成功返回true,否则返回false。srcFileName 待复制的文件名。descFileName 目标文件名。
2023-09-07 11:32:18 395
原创 Tomcat报BAD packet signature 18245错误的原因
为了减少进程生成 socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请 求,在请求处理循环结束之前不会在分配。换句话说,在连接上,请求不是多元的。一旦一个连接被分配给一个特定的请求,在连接上发送的基本请求信息是高度压缩的。从请求获得下一个数据如果还没有全部传输完,如果请求内容的包长度非常大或者长度不确定,这是非常必要的。初步断定,有一些不是AJP协议的请求,请求了这个端口。这个连接上没有处理的请求。
2023-09-06 13:05:44 445
原创 windowsxp下的mysql集群技术
2,在某一个数据节点停止后,进行数据库操作。192.168.18.17 机子的D:/Program Files/mysqlcluster/datanode/mysql。/bin目录下,并在D:/Program Files/mysqlcluster/datanode/mysql/bin。生成c:/mysql/bin、C:/mysql/mysql-cluster(第一次启动后在这个文件。Files/mysqlcluster/sqlnode/mysql目录下,在D:/Program。
2023-09-05 14:26:28 982
原创 Nginx+Tomcat+Terracotta的Web服务器集群实做
这就是Terracotta的作用。Tomcat 5.0 and 5.5 对应目录 CATALINAHOME/server/libTomcat6.0对应目录������������/������/���������6.0对应目录CATALINA_HOME/lib。/usr/local/terracotta/common/terracotta-toolkit-1.1-runtime-2.1.0.jar这两个jar到Tomcat对应目录。-- //Host2就写为"test Host1" 以示区分 -->
2023-09-05 12:10:49 46
原创 tomcat 的缓存机制
然后再由serviceJspFile(request, response, jspUri, null, precompile)进一步判断是否要进行编译jsp文件,下面是JspServletWraper service方法。判断标准是,如果 jsp最后修改时间大于目标文件的最后修改时间要重新编译。还有一种情况就是即使jsp的最后修改时间晚于目标文件的最后修改时间,但只要jsp中用了。include指令包含的某个文件的最后修改时间早于对应目标文件的修改时间的话,也是需要重新编译主jsp文件的。
2023-09-04 21:10:53 1576
原创 ProGuard使用简介
通常情况下,编译后的字节码仍然包 含了大量的调试信息:源文件名,行号,字段名,方法名,参数名,变量名等等。通过以上的了解,你应该明白为什么需要混淆了。作为JAVA这样的高级语言,编译的产物只是相对源代码的一个概念而已,字节码虽然不像源代码那样易懂,但绝不是不可能进行反编译的,针对JAVA的反编译产品很多,如CAVAJ,JAD等等。这是一个不应该在开源社区出现的东西,但它的的确确是一个开源的项目,正像它的名字一样,Proguard,即Program Guard(程序卫士),它代表了开源的相对面--代码保护。
2023-09-04 09:15:37 216
原创 CentOS查看CPU、内存、网络流量和磁盘 I/O
svctm 一般要小于 await (因为同时等待的请求的等待时间被重复计算了),svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式。队列长度(avgqu-sz)也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 洪水。svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
2023-09-03 16:00:23 1861
原创 基于Java IO 序列化方案的memcached-session-manager多memcached节点配置
由于项目对session 管理模式是non-sticky的,所以不配置failoverNodes,任何一个web工程对session的修改要及时更新到memcache上,所以sessionBackupTimeout为0(不同的应用有不同的配置,这样配置是符合我现在这个项目要求的)。的,我个人倾向于使用Kryo,至于序列化出现的问题还可以自己解决,不过先使用java IO来配置,先用起来,以后再慢慢优化,换成Kryo。session的序列化方案官方推荐的有4种。网上有一些例子都是关于。
2023-09-03 11:12:11 253
原创 设置TOMCAT SESSIONID 字符长度和生成算法
因此我们可以修改TOMCAT源码中的SessionIdGenerator.java生成ID的函数部分,比如采用 java.util.UUID+java.util.Random+(随机字符串)来构建更高效的生成SESSIONID的算法,或者自己实现相关部分等 等。实际上TOMCAT生成的SESSIONID是不可能有重复值的,查看TOMCAT源码文件:ManagerBase.java中的以下代码。所以,不必担心SESSIONID的安全性,如果有更好的实现,可以修改相应代码用于特定项目中。
2023-09-02 13:22:42 825 1
原创 在 Spring 4.3.9下升级 Velocity 1.7.x to Velocity 2.0.x 出现的问题
等待 Spring 升级支持 Velocity 2.0.x 或自己改 Spring 的源码。
2023-09-01 19:28:15 403
原创 Java获取当前类名的两种方法
2、在static method中使用方法:Thread.currentThread().getStackTrace()[1].getClassName();获取代码行号:Thread.currentThread().getStackTrace()[1].getLineNumber();获取方法名:Thread.currentThread().getStackTrace()[1].getMethodName();适用于非静态方法:this.getClass().getName()1、在类的实例中可使用。
2023-09-01 15:02:34 1464
原创 elasticsearch批量删除(查询删除)
注:delete by query只适用于低于elasticsearch2.0的版本(不包含2.0)。使用请求体的时候,请求体中只能使用query查询,不能使用filter。
2023-08-29 13:48:05 1238
C++开发基于QT和Socket套接字的邮件系统实现源码.zip
2024-02-29
机械电子工程设计基于专家控制系统在精校机液压位置伺服系统上的仿真与应用研究打印版.doc
2023-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人