- 博客(42)
- 收藏
- 关注
转载 为什么过早的优化是万恶之源?
原文:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2012/1224/11834.html代码优化的好处多多,但是这并不意味着所有的代码都需要进行优化,有时过度的优化反而适得其反——费时、费力、不讨好。 “现代计算机科学的鼻祖”Donald Knuth曾说过“过早的优化是万恶之源”,因为:让正确的程序更快,要比让快速的程序正确容易得多。 在
2016-01-25 15:35:29 6600
转载 深度分析 Java 的枚举类型:枚举的线程安全性及序列化问题
枚举是如何保证线程安全的要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字,他并不是一个类,那么枚举是由什么类维护的呢,我们简单的写一个枚举:public enum t { SPRING,SUMMER,AUTUMN,WINTER;}然后我们使用反编译,看看这段代码到底是怎么实现的,反编译(Java的反编译)后代
2016-01-22 13:36:13 3246
转载 (转)面向 GC 的 Java 编程
面向 GC 的 Java 编程Java程序员在编码过程中通常不需要考虑内存问题,JVM经过高度优化的GC机制大部分情况下都能够很好地处理堆(Heap)的清理问题。以至于许多Java程序员认为,我只需要关心何时创建对象,而回收对象,就交给GC来做吧!甚至有人说,如果在编程过程中频繁考虑内存问题,是一种退化,这些事情应该交给编译器,交给虚拟机来解决。这话其实也没有太大问题,的确,大部分
2016-01-22 11:23:16 547
转载 Tomact8部署在linux下启动很慢详解
转载老大的博客~我们当时遇到的实际问题解决办法,作为一个记录————————————————————分割线——————————————————Tomcat 8熵池阻塞变慢详解作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszsTomcat 8启动很慢,且日志上无任何错误,在日志中查看到如下信息:Log4j:
2016-01-21 13:24:37 13053 3
转载 Mysql主从复制/读写分离/proxy机制
mysql主从分离(双机热备)master-多slaver如何实现读写分离mysql如何采用代理实现
2016-01-21 11:03:05 1691 1
转载 (转)Java并发编程之内存模型与volatile关键字解析
作者:海子 出处:http://www.cnblogs.com/dolphin0520—————————————————————————分割线———————————————————————————Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前
2016-01-20 15:47:27 554
转载 Java并发下的count++问题
引用自 http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.htmlJava中的原子操作包括:除long和double之外的基本类型的赋值操作所有引用reference的赋值操作java.concurrent.Atomic.* 包中所有类的一切操作count++不是原子操作,是3个原子操作组合:读取主存中的count值,赋值
2016-01-20 15:46:42 2981
原创 openfire源码解读之将cache和session对象移入redis以提升性能
openfire源码修改以支撑更多在线用户openfire源码全解读openfire session cache分析openfire代码流程分析
2016-01-15 10:54:47 2398 3
原创 openfire源码研究笔记:对设计模式及原则的学习
openfire源码学习过程中,学习其对设计模式 对七大原则的应用与实践,掌握其使用场景同时理解适用于什么地方
2016-01-15 10:32:53 964
原创 linux下安装部署redis及使用jedis访问redis server简单的完整流程(简洁版本)
1.linux安装redis2.jedis访问redis
2016-01-14 17:37:57 1028
原创 大型系统的正式服务器一定要保证高可用
起因:今天项目出问题了,需要重启,openfire使用nginx搭建了负载均衡2个节点,所以可以轻松平滑随意启动。但是redis至始至终只有一个点,今天问题就出在redis,redis重启就导致整个系统都全部需要重启,意味着服务会暂停一段时间.这在一个大用户的环境下是不可想象的。因此引发了我的思考,在整个系统中,我们应该保证:无论是哪个环节出了事
2016-01-08 11:10:03 1205
原创 mysql数据库表设计相关知识
一,mysql设置唯一约束以满足非主键字段 也能递增问题:在另一个字段是主键的情况下,我需要u_id自动递增,该怎么做呢?答案:先设置成唯一索引:ALTER TABLE user ADD UNIQUE (u_id);再设置成自增长
2016-01-07 21:09:01 676
转载 《深入理解mybatis原理》 MyBatis事务管理机制
转载自:http://blog.csdn.net/luanlouis/article/details/37992171?utm_source=tuicool&utm_medium=referral——————————————————————————————分割线—————————————————————————————————MyBatis作为Java语言的
2016-01-07 17:00:25 757
原创 利用Junit4进行单元测试
junit4 进行单元测试二.添加一个Junit4单元测试class步骤:1.单独创建一个packege,取名test,划分好结构2.在所在包右键new
2016-01-07 13:05:44 562
原创 关于java中路径的思考:相对路径,以及在不同场景下的区别 classpath
第一种:普通Java项目,不使用classpath:来标识疑问:new File("")可以识别classpath:吗2.spring框架的web项目:使用classpath:来标识疑问:可以不使用classpath:吗?直接和上述写法那样写可以吗三.web项目classpath使用总结1.类加载路径classpath: classpath:
2016-01-07 00:17:26 1558
转载 JAVA关键字极其作用
Java关键字及其作用一、 关键字总览:访问控制privateprotectedpublic类,方法和变量修饰符abstractclassextendsfinalimplements
2016-01-06 13:32:15 482
原创 JAVA反射基础
package Reflection;/** * 反射调用StaticBlock的Test类 * * JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; * 对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 * * 核心反射机制:提供了通过程序来访问已装载的类的信息的能
2016-01-06 11:20:47 749
转载 Thread.currentThread().getContextClassLoader()andClass.getClassLoader()区别
What is different between Thread.currentThread().getContextClassLoader() and Class.getClassLoader()?From API document, the Thread.currentThread().getContextClassLoader() returns the context Clas
2016-01-05 16:04:07 1236
转载 Java中Class.forName和ClassLoader.loadClass的区别
Class.forName("xx.xx")等同于Class.forName("xx.xx",true,CALLClass.class.getClassLoader()),第二个参数(bool)表示装载类的时候是否初始化该类,即调用类的静态块的语句及初始化静态成员变量。ClassLoader loader = Thread.currentThread.getContextClassLoader
2016-01-05 16:02:13 1113
转载 JAVA动态代理技术详解 Proxy
千言万语一句话:这哥们太牛掰了,清楚有条理。看完就懂啦!————————————————————————分割线———————————————————————————孤傲苍狼只为成功找方法,不为失败找借口!Java基础加强总结(三)——代理(Proxy)一、代理的概念 动态代理技术是整个java技术中最重要的一个技术,它是学习java
2016-01-05 15:08:59 1335
转载 web服务器的几种缓存
web开发中缓存机制的种类1.数据库缓存 我们可能听说过memcached,它就是一种数据库层面的缓存方案。数据库缓存是指,当web应用的关系比较复杂,数据库中的表很多的时候,如果频繁进行 数据库查询,很容易导致数据库不堪重荷。为了提供查询的性能,将查询后的数据放到内存中进行缓存,下次查询时,直接从内存缓存直接返回,提供响应效率。2.CDN缓存 C
2016-01-05 11:11:02 4330
转载 HTTP请求的过程与TCP连接的过程
HTTP请求的过程与TCP连接的过程 http请求的详细过程HTTP是一个应用层的协议,在这个层的协议,是一种网络交互需要遵守的一种协议规范。1、连接:当输入一个请求时,首先建立一个socket连接,因为socket是通过ip和端口建立的,所以,之前则还有一个DNS解析过程。如把www.baidu.com变成一个ip,如果url不包含端口号,则会使用该协议的默认端口号,HTTP
2016-01-05 10:23:50 14531
原创 openfire源码修改后如何打包部署到linux服务器上
openfire源码打包目前网上资料极少,有的根本看了不知其所以然。本文的方法由另一位大神搞定,作者亲身体会,完全行得通
2016-01-04 17:09:30 2987
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人