Java我人生的技术博客

为生活奔波、前进的同时更希望为技术而痴狂,岁月不止,奋斗不息,Java我人生,让你我共同积淀与进步吧..........

马上要走了,去北京.....

马上要走了,去北京闯一闯,去北京一直是我的初衷,经过这么长时间的各种波澜,还是决定趁年轻,多出去闯闯,追求自己想要的东西,毕竟,人生在世,能有这么几次呢,也就年轻这么一次。年轻,是谁都有过的资本,但是有限时间,让年轻发挥出最大的价值,还是自己决定的,路,还得是自己走!        想想去北京,...

2016-03-16 00:52:22

阅读数 7779

评论数 40

Java永久代去哪儿了

在Java虚拟机(以下简称JVM)中,类包含其对应的元数据,比如类的层级信息,方法数据和方法信息(如字节码,栈和变量大小),运行时常量池,已确定的符号引用和虚方法表。 在过去(当自定义类加载器使用不普遍的时候),类几乎是“静态的”并且很少被卸载和回收,因此类也可以被看成“永久的”。另外由...

2015-09-08 08:54:40

阅读数 4930

评论数 2

深入剖析tomcat之servlet容器

其实我们开发中经常用tomcat应用服务器,tomcat就一个servlet容器,能够运行基于serlvlet的应用程序并响应相应的http请求,开发时间长了,还是想想具体知道它是怎么运行的,尤其是servlet容器的机理,所以有幸拜读了外国人的《深入剖析tomcat》,感觉挺不错的,可以在此点击...

2015-09-01 08:54:46

阅读数 6326

评论数 2

springMVC工作原理

SpringMVC框架介绍     1) Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内...

2015-07-30 09:03:43

阅读数 11282

评论数 1

深入分析Java ClassLoader原理

一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常...

2015-07-29 08:49:27

阅读数 2357

评论数 2

深入理解Memcached原理

1.为什么要使用memcache  由于网站的高并发读写需求,传统的关系型数据库开始出现瓶颈,例如: 1)对数据库的高并发读写: 关系型数据库本身就是个庞然大物,处理过程非常耗时(如解析SQL语句,事务处理等)。如果对关系型数据库进行高并发读写(每秒上万次的访问),那么它是无法承受的。 2...

2015-07-24 08:59:40

阅读数 10973

评论数 0

ConcurrentHashMap原理分析

 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,que...

2015-07-16 08:50:48

阅读数 1106

评论数 0

Nginx优化详细,应对高并发

 nginx指令中的优化(配置文件) worker_processes 8;   nginx进程数,建议按照cpu数目来指定,一般为它的倍数。 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 001000...

2015-07-16 08:48:21

阅读数 13663

评论数 2

触发JVM进行Full GC的情况及应对策略

Full GC又称作Major GC,属于老年代GC,指发生在老年代的GC,相对这种GC的有新生代GC即Minor GC。出现Full GC的时候经常伴随至少一次的Minor GC,但非绝对的,Major GC的速度一般会比Minor GC慢10倍以上。下边看看有那种情况触发JVM进行Full G...

2015-07-01 08:54:00

阅读数 75232

评论数 7

Linux与JVM的内存关系分析

引言 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所...

2015-07-01 08:51:03

阅读数 3456

评论数 5

Linux中CPU与内存性能监测

在系统维护的过程中,随时可能有需要查看 CPU 使用率内存使用情况的需要,尤其是涉及到JVM,程序调优的情况,并根据相应信息分析系统状况的需要。 top命令 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。运行 top 命令后...

2015-06-29 09:05:09

阅读数 9225

评论数 1

一次非常有意思的SQL优化经历:从30248.271s到0.001s

场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表 create table Course( c_id int PRIMARY KEY, name varchar(10) ) 数据100条 学生表: create table Student( id ...

2015-05-19 08:42:15

阅读数 3740

评论数 5

java6,7,8中String.intern进化史与深度剖析

这篇文章将要讨论 Java 6 中是如何实现 String.intern 方法的,以及这个方法在 Java 7 以及 Java 8 中做了哪些调整。 字符串池 字符串池(有名字符串标准化)是通过使用唯一的共享 String 对象来使用相同的值不同的地址表示字符串的过程。你可以使用自己定义的 Map...

2015-05-14 08:48:23

阅读数 2558

评论数 0

10个对开发项目有害的编程习惯

避免这些常见的编码习惯,会让我们的工作更轻松、软件更安全且更易于扩展。 帕雷托法则明确指出,20%的因导致80%的果。又称为80-20法则,它适用于几乎每一个需要人作为劳动主体的相关领域。 在软件开发领域,这个法则可以概括为,大多数的问题都是由少数不良编码习惯造成的。改变这些习惯,你会更有效率...

2015-04-27 09:13:01

阅读数 3080

评论数 4

java虚拟机垃圾回收被误解的7件事

对Java垃圾回收最大的误解是什么?它实际又是什么样的呢? 当 我还是小孩的时候,父母常说如果你不好好学习,就只能去扫大街了。但他们不知道的是,清理垃圾实际上是很棒的一件事。可能这也是即使在Java的世界中, 同样有很多开发者对GC算法产生误解的原因——包括它们怎样工作、GC是如何影响程序运行和...

2015-04-22 09:15:46

阅读数 1887

评论数 0

oracle到底能不能insert into 多个values!?

稍微熟悉oracle的都知道,如果我们想一条SQL语句向表中插入多个值的话,如果INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....;这样会报错的,因为oracle是不支持这种写法的,如果多个INSERT INTO VALUEES(各个值);这样以“;”隔开一同...

2015-04-21 08:51:10

阅读数 76545

评论数 13

详解java类的生命周期

引言         最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识...

2015-03-29 22:31:01

阅读数 989

评论数 0

字典树-大量字符串前缀及出现次数是否存在统计(Trie树-java)算法实现

前言        字典树又称单词查找树,它是一种树形结构,是一种哈希树的变种,典型应用是用于统计,保存大量的字符串(但不仅限于字符串),统计以是否有以某字符串最为前缀的字符串,有的话有多少,某字符串出现了多少次等,所以经常被搜索引擎系统用于文本词频统计。        它与字典很相似,当你要查一...

2015-03-28 22:59:45

阅读数 11589

评论数 12

美国互联网公司为什么只在中国失败了?

过去10年间,几乎所有美国互联网公司在中国都失败了。雅虎收购3721(一些人说3721是百度出现前占主导地位的关键词搜索引擎)进入中国市场,很快就把3721做砸,后来雅虎中国被阿里巴巴收购。 eBay收购最大C2C网站易趣网,花了几个亿做市场营销,成功把后者市场份额从90%以上变为不到10%,最...

2015-03-26 08:34:46

阅读数 4729

评论数 13

透过J2Cache的吐槽,领悟代码的设计

经常去开源社区的,大部分应该都知道J2Cache吧,不过没听说过也没关系,这 是 开源中国社区OSChina 目前正在使用的两级缓存框架,托管在OSG@Git上,大部分由设计人红薯来维护。它的第一级缓存使用 Ehcache,第二级缓存使用 Redis 。由于大量的缓存读取会导致 L2 的网络成为...

2015-03-25 22:19:53

阅读数 10355

评论数 8

提示
确定要删除当前文章?
取消 删除
关闭
关闭