<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sinlff的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sinlff</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sinlff]]></copyright><item><title><![CDATA[Java的字符串为什么挪到了堆里?]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/103845907</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/103845907</guid><author>sinlff</author><pubDate>Sun, 05 Jan 2020 18:43:51 +0800</pubDate><description><![CDATA[我们知道的2个事实:

1 字符串的值是放在常量池里的

2 hotspot vm在jdk1.7之前,常量池是放在方法区(堆外的永久代)



java在jdk1.7开始, 字符串挪到了堆里, 这么做的目的是什么?

1 堆内回收效率高: 堆外的方法区的内存(Class)回收效率(可回收比例和执行时间成本)不如堆内

2 永久代/元数据区一般不会设置一个很大的值.

永久代/元数据区由于(字符串...]]></description><category></category></item><item><title><![CDATA[学好设计模式的思维导图]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/103845697</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/103845697</guid><author>sinlff</author><pubDate>Sun, 05 Jan 2020 18:20:14 +0800</pubDate><description><![CDATA[设计模式
 什么是设计模式?
  通俗版
   解决一再发生的问题的通用方案
  专业版
   是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的：为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化；设计模式是软件工程的基石脉络，如同大厦的结构一样。
...]]></description><category></category></item><item><title><![CDATA[tomcat8并发优化]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/72722083</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/72722083</guid><author>sinlff</author><pubDate>Thu, 25 May 2017 09:13:48 +0800</pubDate><description><![CDATA[TOMCAT_HOME/conf/server.xml
name：线程池名称，用于 Connector中指定。
namePrefix：所创建的每个线程的名称前缀，一个单独的线程名称为 namePrefix+threadNumber。
maxThreads：池中最大线程数。
minSpareThreads：活跃线程数，也就是核心池线程数，这些线程不会被销毁，会一直存在。
maxIdleTime：线程空闲时间，超过该时间后，空闲线程会被销毁，默认值为6000（1分钟），单位毫秒。
maxQueueSize：在被]]></description><category></category></item><item><title><![CDATA[tomcat8.5.15源码编译运行]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/72721990</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/72721990</guid><author>sinlff</author><pubDate>Thu, 25 May 2017 08:58:06 +0800</pubDate><description><![CDATA[下载Ant
打开http://ant.apache.org/bindownload.cgi
下载Ant http://apache.fayea.com//ant/binaries/apache-ant-1.10.1-bin.zip
解压Ant到目录
D:\soft\apache-ant-1.10.1
配置Ant系统变量（注意不是用户变量）
ANT_HOME D:\soft\apache-ant-1...]]></description><category></category></item><item><title><![CDATA[Full GC为什么那么慢？为什么老年代垃圾回收效率比新生代低很多？为什么Minor gc速度比Major GC慢？]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/70138651</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/70138651</guid><author>sinlff</author><pubDate>Wed, 12 Apr 2017 08:08:42 +0800</pubDate><description><![CDATA[GC类型分为三种：
Yong GC
Old GC
MIXED GC
Full GC
（有些文章和书上也叫Minor GC、Major GC、Full GC，由于Major GC的意思有些混淆，所以改成Old GC容易理解）


GC回收的“无用的类”（元数据区）：
1、该类所有的实例都已经被回收，也就是Java堆中不存在该类的任何实例
2、加载该类的 ClassLoader已经]]></description><category></category></item><item><title><![CDATA[开发工具eclipse优化JVM参数eclipse.ini文件配置]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/62058016</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/62058016</guid><author>sinlff</author><pubDate>Tue, 14 Mar 2017 21:44:53 +0800</pubDate><description><![CDATA[eclipse开发环境伴随着我们每天的工作（IDA、NetBean除外）


eclipse优化提速目标：
1、加快eclipse启动速度。
2、eclipse敲代码对象.函数()的时候减少停顿时间、卡顿频率、假死超长时间等待。
3、eclipse界面选项设置、打开源码文件时减少停顿时间、卡顿频率、假死超长时间等待。


开发环境eclipse的eclipse.ini内存参数配置]]></description><category></category></item><item><title><![CDATA[Java内存溢出的原因有哪些？Java进程占用内存构成有哪些？]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/62040358</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/62040358</guid><author>sinlff</author><pubDate>Tue, 14 Mar 2017 11:56:49 +0800</pubDate><description><![CDATA[很多人的理解是，Java进程占用的内存就是堆内存占用，再进一步就是Perm/元数据区的占用。
Java面试宝典里的，大多点到这为止，其实真实情况远远不是这样的。
如果持有以上观点，那么服务器上出现OOM，一点儿也不奇怪。了解Java进程的内存构成，对固定服务器内存的设置有帮助。


Java程序耗费内存:
内存占用=堆+方法区+程序计数器（可以忽略不计）+虚拟机进程本身+虚拟机栈(线程]]></description><category></category></item><item><title><![CDATA[JVM监控分析方法总结,JVM监控分析工具推荐,JVM监控命令,JVM监控工具大全]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/62039590</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/62039590</guid><author>sinlff</author><pubDate>Tue, 14 Mar 2017 11:37:02 +0800</pubDate><description><![CDATA[JVM监控方法和监控工具网上介绍的很多，大家关心的大部分内容可能是“内存去哪儿了”，以下是个人的总结和心得。



分析方式：
实时监控
事后时候堆快照、线程栈分析
事后多个堆快照对比分析
飞行记录，一段时间的运行变化，有点像飞机出事后的“黑匣子”数据


观察方式：
命令行、日志文本文件观察分析
可视化图形界面分析


是否免费：
免费版。（整体上比商业版稍微逊]]></description><category></category></item><item><title><![CDATA[一份8G内存Tomcat服务器的JVM垃圾回收G1算法参数清单]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/62038816</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/62038816</guid><author>sinlff</author><pubDate>Tue, 14 Mar 2017 11:10:49 +0800</pubDate><description><![CDATA[目前网上大多是CMS相关参数的介绍，推荐JDK 1.8
注意一下参数是针对G1算法的参数设置，目前只是理论设置，未经实战检验过。
每个系统的业务类型不一样，可以根据自己需要修改配置参数。
最终的JVM参数，应该经过JMX实时监控结果、堆分析、线程栈分析来一步步调优
推荐可视化监控工具：MAT、VisualVM、JMC
详细参数的意思大家可以参考官网的解释：]]></description><category></category></item><item><title><![CDATA[debian7.4安装ia32-libs-i386失败，debian eclipse android开发环境 adb Canot run program的解决办法]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/24843309</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/24843309</guid><author>sinlff</author><pubDate>Thu, 01 May 2014 15:58:40 +0800</pubDate><description><![CDATA[网上的解决方案都试过了:
apt-get install ia32-libs


还是没]]></description><category></category></item><item><title><![CDATA[研读Java代码必须掌握的Eclipse快捷键]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/7471804</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/7471804</guid><author>sinlff</author><pubDate>Tue, 17 Apr 2012 23:53:38 +0800</pubDate><description><![CDATA[本文转载出处：http://www.cnblogs.com/yanyansha/archive/2011/08/30/2159265.html
作者是墨海


1. Ctrl+左键 和F3 
这个是大多数人经常用到的，用来查看变量、方法、类的定义
跳到光标所在标识符的定义代码。当按执行流程阅读时，F3实现了大部分导航动作。
2 Ctrl+Shift+G
在工作空间中查找引用了光标所]]></description><category></category></item><item><title><![CDATA[Web开发中的三种缓存模式对页面访问速度影响和分析]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/7424433</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/7424433</guid><author>sinlff</author><pubDate>Tue, 03 Apr 2012 22:19:43 +0800</pubDate><description><![CDATA[Web程序性能优化有多个方面，比如sql优化、集群、负载均衡、购买更强悍的硬件、采用缓存框架等等办法。但是缓存框架就有很多种：页面静态化、JSP页面缓存、后台方法缓存、ORM查询结果缓存、数据库缓存、缓存服务器等。
          在这里我对无任何缓存、缓存后台方法、缓存JSP页面、页面静态化这四种方式，接着用压力测试分析工具进行100次请求对比，并求平均响应速度：
请求地址：xxxx.d]]></description><category></category></item><item><title><![CDATA[再谈Hibernate级联删除——JPA下的Hibernate实现一对多级联删除CascadeType.DELETE_ORPHAN]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/7342527</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/7342527</guid><author>sinlff</author><pubDate>Mon, 12 Mar 2012 01:23:39 +0800</pubDate><description><![CDATA[声明：
1、本文系原创，非抄袭或转载过来的。
2、本文论点都亲手做过实验论证。
3、本文所讲的Hibernate配置都基于注解的方式，hbm语法未提供。
很多人对持久层概念搞不清JPA、Hibernate、EJB3.0的关系，这里做一下简单的说明：JPA是一个持久层设计接口，EJB3.0和Hibernate是具体的实现类，EJB3.0和Hibernate的功能近似相等的(Hibernate]]></description><category></category></item><item><title><![CDATA[OpenGL编程指南之glPolygonStipple函数深入理解]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/7273613</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/7273613</guid><author>sinlff</author><pubDate>Mon, 20 Feb 2012 00:48:04 +0800</pubDate><description><![CDATA[最近在读《OpenGL编程指南》-红宝石书，发现3D图形编程真的有趣，游戏API，看书有时候乍一看很费解，但经过反复琢磨，加上在纸上拿尺笔画画，网上参考网友的解释，在看看OpenGL API参考手册，最终困难都会克服的，
下面以该书中第38页的图20-10为例解释一下glPolygonStipple的语法：
下面先上该函数的概念、代码、运行效果图（声明：这3个是原书中截图一下来的）
概念：]]></description><category></category></item><item><title><![CDATA[window下eclipse搭建C/C++开发环境(超简单无需插件版)]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/7269196</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/7269196</guid><author>sinlff</author><pubDate>Fri, 17 Feb 2012 23:28:07 +0800</pubDate><description><![CDATA[经过若干google之后（百度就不用说了），又经过了若干尝试，终于用最简单的步骤配起来了。（一些比较旧的文章写的太繁杂了，随着各个工具的升级，搭建环境很简单了）。
       前言：写博客不是为了炫耀什么、发泄什么、也不是为了记录什么，只是想写篇日期看上去比较新的文章，来帮助跟我遇到一样问题而着急的IT同仁，，，


步骤1：安装JDK，这个不必说了吧，搞java的都会。
步骤2：下载]]></description><category></category></item><item><title><![CDATA[ckeditor3.6.5+ckfinder2.0.2+jsp编辑器配置 支持服务器浏览/上传图片、Flash]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/6854211</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/6854211</guid><author>sinlff</author><pubDate>Sun, 09 Oct 2011 01:18:35 +0800</pubDate><description><![CDATA[一、相信很多人都用过大名鼎鼎的FckEditor，   最新又出来了个ckEditor， 令人一下子搞不清楚， 到官方网站看看才知道FckEditor在2.6版本之后就改名为ckEditor了， 在这里特别说明一下， 以免混淆，因为网上搜出来的大多都是FckEditor相关配置的文章。
            二、FckEditor里有java版本的配置，相信有些同行用过，支持php、asp.n]]></description><category></category></item><item><title><![CDATA[WEB开发系统异常设计思路整理,J2EE异常设计(原创)]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/6696736</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/6696736</guid><author>sinlff</author><pubDate>Thu, 18 Aug 2011 01:27:51 +0800</pubDate><description><![CDATA[长时间没上优快云了，偶然在其首页看到一篇分析异常的文章，忽然觉得有必要分享一下自己在java Web程序设计中异常的设计思路。
           在Web程序开发设计当中，总离不开系统异常报错、错误提示、规则验证等情况，不同的人，解决的办法也多种多样，这里我列举一下常见做]]></description><category></category></item><item><title><![CDATA[[原创]displaytable分页跳到到第N页,displaytable分页跳转页码,displaytable分页跳转到输入的页码]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/6263826</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/6263826</guid><author>sinlff</author><pubDate>Mon, 21 Mar 2011 03:12:00 +0800</pubDate><description><![CDATA[经过了若干google之后，总结是：displaytable并没有提供根据输入的页码来到达指定页的功能。
网上有些介绍的是一个直接的输入框，这样抛弃了其它搜索条件不够完美，
跳转页码也应该带着搜索条件跳的！！！
所以只能自己动手了，先贴出效果图为证
 
 

 
 
 跟踪了一通displaytable1.2的源码之后， 
确诊在Pagination.java的getForma]]></description><category></category></item><item><title><![CDATA[SpringMVC以post方式提交表单(spring RedirectView post提交)]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/6201619</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/6201619</guid><author>sinlff</author><pubDate>Wed, 23 Feb 2011 09:57:00 +0800</pubDate><description><![CDATA[本文采用spring3.0说明解决方案：

重点在：

RedirectView("/j_spring_security_check", true, false, true);//false代表以post方式提交请求

第二个参数觉得是否提交， 否则安全框架默认不允许get的方式提交。







@RequestMapping(value = "caLogin.html") public...]]></description><category></category></item><item><title><![CDATA[srping security3.0(一)----登陆不能抛出自己定义的异常,用户不存在异常,用户尝试登陆次数过多,回到登陆之前访问的页面]]></title><link>https://blog.youkuaiyun.com/sinlff/article/details/5894088</link><guid>https://blog.youkuaiyun.com/sinlff/article/details/5894088</guid><author>sinlff</author><pubDate>Sun, 19 Sep 2010 11:29:00 +0800</pubDate><description><![CDATA[spring security3.0默认的表单登陆并不会抛出UsernameNotFoundException异常，我尝试了多次， 自定配置了bean， 也把错误信息扔到了session属性都没有解决
public final class WebAttributes {
    public static final String AUTHENTICATION_EXCEPTION = "SPR]]></description><category></category></item></channel></rss>