- 博客(351)
- 资源 (15)
- 收藏
- 关注
转载 负载均衡与集群之apache+tomcat
看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本看起来还是挺通俗易懂的,而且作者李智慧给人的印象(书本)也挺深刻的,我从这本书中也学到了许多,了解的许多,但是理解还是比较抽象的,写出来才是真正的理解,因此准备写一系列的博客来介绍和加深理解大型网站技术架构。
2016-04-07 22:14:16 4171
转载 深入理解java虚拟机(八):java内存分析工具-MAT和OQL
以下内容翻译自MAT帮助文档。MAT下载地址 http://www.eclipse.org/mat/一、Class Histogram Class Histogram shows the classes found in the snapshot, the number of objects for each class, the heap memory consu
2016-04-07 22:11:10 4151
转载 深入理解java虚拟机(七):java垃圾收集分析总结
一、垃圾回收触发条件 1、Minor gc触发条件当新生代空间不足时会主动触发Minor gc,并且自动扩容(可通过控制使新生代直接处于最大内存空间,避免自动扩容和垃圾收集)。 2、Full gc触发条件和新生代一样,当老年代空间不足时会触发Full gc,并且自动扩容;另外当在代码中调用System.gc()时也会触发Full gc。 可通过参数-XX:+Di
2016-04-07 22:09:34 796
转载 深入理解java虚拟机(六):java垃圾收集分析实战(内存分配与回收策略)
试验环境jdk 1.6.0_37。 虚拟机参数-XX:PrintGCDetails让虚拟机在发生垃圾回收行为时打印内存回收日志,并在进程退出时候输出当前的内存各区域分配情况。 以下代码测试都将加上 -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8 参数,即设置java堆大小限制为20M,新生代10M,
2016-04-07 22:09:07 793 1
转载 深入理解java虚拟机(五):hotspot垃圾收集算法实现
本文所讲的是sun hotspot虚拟机实现,主要讲解Serial,ParNew,Parallel Scavenge,Serial Old,CMS(Concurrent Marsk Sweep),Parallel Old,G1(garbage first)垃圾收集器。先看java堆内存结构,适用于非G1收集器外的垃圾收集器: 首先根据java对象的生存周期长短
2016-04-07 22:08:31 524
转载 深入理解java虚拟机(四):对象存活判定算法和垃圾收集算法
程序计数器、虚拟机栈、本地方法栈3个区域随线程生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊的执行这出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来是就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区域内不需要过多考虑回收问题,因为方法结束或者线程结束时,内存就跟着回收了。因此我们主要学习java堆和方法区的内存分配和
2016-04-07 22:07:52 566
转载 深入理解java虚拟机(三):String.intern()-字符串常量池
看源码: public native String intern(); Returns a canonical representation for the string object.A pool of strings, initially empty, is maintained privately by the class String.When the i
2016-04-07 22:07:09 1531
转载 深入理解java虚拟机(二):java内存溢出实战
按照java内存的结构,发生内存溢出的地方常在于堆、栈、方法区、直接内存。1、堆溢出堆溢出原因莫过于对象太多导致,看代码。[java] view plain copy print?package baby.oom; import java.util.ArrayList; import java.util.List;
2016-04-07 22:06:49 858
转载 深入理解java虚拟机(一):java内存区域(内存结构划分)
图一:java内存结构划分由上图可知,java内存主要分为6部分,分别是程序计数器,虚拟机栈,本地方法栈,堆,方法区和直接内存,下面将逐一详细描述。1、程序计数器线程私有,即每个线程都会有一个,线程之间互不影响,独立存储。代表着当前线程所执行字节码的行号指示器。2、虚拟机栈线程私有,它的生命周期和线程相同。描述的是java方法执行的内存模型:每个方法在执
2016-04-07 22:02:19 555
转载 脏读、不可重复读 共享锁、悲观锁 和 事务五种隔离级别
一、脏读、不可重复读、幻读1、脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。例如: 张三的工资为5000,事务A中把他的工资改为8000,但事务A尚未提交。 与此同时, 事务B正在读取张三的工资,读取到张三的工资为8000。 随后, 事务A发生异常,而回滚
2015-10-11 14:22:26 7904
转载 分布式相关技术及其比较
随着计算机和网络技术的快速发展,新技术层出不穷。就分布式计算而言,近年来就诞生了诸如集群计算、网格计算、云计算等新兴技术。虽然这些技术的本质是分布式技术,生存土壤都是计算机和网络,都是为了解决数据的计算、传输和存储等问题,但是他们的之间在服务对象、实用场景等方面存在着差别。本文在介绍这些技术后,对其中一些技术做出了比较。所有的资源来均来自互联网。1. 分布式
2015-10-09 19:27:29 4212
转载 高并发量网站解决方案
一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht
2015-10-07 21:35:29 738
转载 程序员如何在复杂代码中查找到程序的bug?
最近在挑选更合适的物品来兑换,请牛牛们不要着急。程序员新人怎样在复杂代码中找 bug?姚冬,程序员:我曾经做了两年大型软件的维护工作,那个项目有10多年了,大约3000万行以上的代码,参与过开发的有数千人,代码checkout出来有大约5个GB,而且bug特别多,open的有上千,即使最高优先级的showstopper也有上百。分享下我的debug的经验1.
2015-09-08 22:22:31 3755
转载 我是如何构建一个持续发展的项目
说起项目,每个程序员都应该搭建过自己的项目,而我也搭建过数十个企业级或互联网级项目;在做企业级项目时也抽象了一套通过的开发脚手架ES方便开发,也做过一些通用的代码生成工具来生成通用项目架子或一些CRUD的代码。做这些平台或项目的时候或多或少给我一些启示和原则,而这些启示和原则一直指导着我内心方向,时刻指导我不偏离航线。 启示录心中有原则代码规范化代码审查代码重构代码注释代码逻辑抽象
2015-08-04 20:06:41 648
转载 如何做好项目的需求与业务调研?
1. 调研工作如何组织?很多人认为调研工作极难,水平最高的人才能做好一次调研,软件工程中也强调需求获取是最难的事情。有的人要么认为不过如此,甚至是一个普通技术支持都可以做的工作。现在有很多企业上管理软件之前都希望软件公司派人来了解情况,提出针对性建议。这其实给很多软件公司销售经理出了个难题,自己亲自上企业不信任,而且也不专业,请公司派咨询顾问过来资源难以协调,响应不及时用户也不满意
2015-05-13 23:35:10 12232
转载 如何做好项目的验收工作?
实施项目最快乐的事情就是项目验收,可是经常是没完没了的信息化,不见不散的项目组,验收之路何其漫漫。我在整个项目经理技巧中都反复强调任何工作达到成效,并不在一时一地事情做到位,而是在平时工作积累中将事情细节做完善,做到位,很多想要的结果就自然达到了。项目验收就是我们最想要达到的结果,一旦项目验收对很多人还意味着一件现实的事情就是,我们可以回款了,可以获得项目提成收入了,同样项目验收也
2015-05-13 23:34:32 5142
转载 如何做项目或产品演示?
项目或产品演示不是演讲,也不是答辩,更不是培训。尽管在很多表达和现场互动技巧上,演讲,答辩,培训和演示都有相通的地方。演讲更侧重对某一个问题看法的陈述,主要是交换观点,允许争鸣,听众可以不同意你的观点,但一定会捍卫你发言的权利。除了常见的演讲比赛外,很多时候演讲者是受邀请,以一种被尊重状态出场,是处于一种比较从容的心态下开始的。演讲的过程一般也是比较连续,不会被随意
2015-05-13 23:34:13 12052 1
转载 Java项目经验——程序员成长的关键
转自CSDN。Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点:1、掌握项目开发的基本步骤2、具备极强的面向对象的分析与设计技巧3、掌握用例驱动、以架构为核心的主流开发方法没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!你必须学会从整个项目的角度
2012-05-27 22:39:11 942
转载 Java六大必须理解的问题
摘要: 对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。问题一:我声 ...对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂
2012-05-23 22:37:31 1275 1
转载 Flex实现页面跳转的功能可用性分析
摘要: Flex关于页面跳转的方式,我是直接贴的,博客中很多很多,我只是贴过来然后结合实际应用中分析下那种方式最好。Flex中实现页面的跳转以下几种方式: 1、使用ViewStack组件,把要跳转的页新建成 MXML Component,然后 ...Flex关于页面跳转的方式,我是直接贴的,博客中很多很多,我只是贴过来然后结合实际应用中分析下那种方式最好。
2012-05-23 22:36:55 920
转载 图解析SQL语句中JOIN操作
摘要: 对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章通过 文氏图(Ve ... 对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法 有很多in
2012-05-23 22:36:17 906
转载 Java语言对对象引用的4种方式
对于大部分Java对象而言,程序里会有一个引用变量引用该对象,这是最常见的引用方式.除了这之外,在java.lang.ref包下面给我们提供了3个类:SoftReference、PhantomReference和WeakRerence,他们分别代表了系统对象的3种引用方式:软引用、弱引用、虚引用;下面我们就来看看java中4种对象的引用方式1.强引用(StrongReference)
2012-05-23 22:35:30 1079
转载 Java流与文件操作
数据流的基本概念数据流分为输入流和输出流。输入流只能读不能写,而输出流只能写不能读。使用数据流的目的是使程序的输入输出操作独立于相关设备,增强程序的可移植性。字符流Reader类和Writer类字符输入流Reader类是所有面向字符的输入流的超类声明为java.io中的抽象类。Public abstract class Reader extends Object
2012-05-23 22:34:56 772
转载 oracle 常用语句
oracle 常用语句http://www.oschina.net/code/snippet_121156_8968--查询表的大小select t.owner, t.segment_name, (sum(t.blocks) * 8) / 1024 || 'M' as S, t.segment_type from dba_s
2012-05-21 09:01:36 671
转载 MyEclipse8.6 性能优化
第一步: 取消自动validationvalidation有一堆,什么xml、jsp、jsf、js等等,我们没有必要全部都去自动校验一下,只是需要的时候才会手工校验一下!取消方法:windows–>perferences–>myeclipse–>validation除开Manual下面的复选框全部选中之外,其他全部不选手工验证方法:在要验证的文件上,单击鼠标右键–>my
2012-04-30 14:51:28 752
原创 Eclipse3.7默认字体修改-帮你找回Courser-New字体
Eclipse3.76月22日正式发布,代号是Indigo,初次体验,在Windows7下初始后化,发现界面变化不大,字体却面目全非,小得根本看不见,而且也看起来很不爽。Eclipse以前的默认字体一般是CourierNew字体,这种字体看着习惯。但当我试图修改回去时,发现字体列表里根本没有这种字体,郁闷了半天,终于在网上找到了解决方法。(iTeye(原JavaEye,因与Oracle发生
2012-01-15 19:14:21 920
原创 java实现中文转化为拼音与简称
package test;import java.io.UnsupportedEncodingException; import net.sourceforge.pinyin4j.PinyinHelper;/** */ /** * 取得给定汉字串的首字母串,即声母串 * Title: ChineseCharToEn * @author javer QQ:84831
2009-11-09 22:52:00 2241 3
转载 将 Flex 集成到 Java EE 应用程序的最佳实践
将 Flex 集成到 Java EE 应用程序的最佳实践文档选项打印本页将此页作为电子邮件发送样例代码级别: 中级廖 雪峰
2009-10-26 23:33:00 1014
原创 Flex与java交互之数据库数据读取
对于建立一个flex web应用的步骤我就不多说了哈。 首先要求大家到数据库建立一个数据库,在我这例子中数据库名为userDb,建立一个表userInfo,里面设置两个字段一个为id,一个为name.第二,创建以下java代码在src目录下 User.java package org.rjb.java; publ
2009-10-06 13:19:00 1570 2
原创 flex的安装、配置、与tomcat的挂接
1.首先安装JDK1.5 2. 再设置环境变量: 假定你的JDK安装道了c:/Program Files/下 如: 点击“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”-“新建”: 名称输入:JAVA_HOME 值输入:c:/Program Files/jdk1.5 名称:path 值:c:/Program Files/jdk1.5/bin;.;(或:%JAVA_HOME%/bin;.
2009-03-22 10:50:00 2784
原创 用 Firebug 动态调试和优化应用程序
为何您的 Web 页面要花这么长时间才能加载?您是否也想在浏览的同时检查或编辑 HTML?想马上调试 CSS?在本文中,了解如何使用 Firefox 浏览器的免费开源扩展 Firebug,它提供了很多有用的开发特性和工具。 可以使用 Firebug 监视、编辑和调试活动 Web 页面,包括 HTML、CSS、JavaScript 代码和网络流量。此外,学习如何使用 Firebug 加快 Web 和
2009-03-13 00:58:00 1194 1
转载 java中重载与重写的区别
首先我们来讲讲:重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。 (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不
2016-04-06 22:04:53 443
转载 MySQL索引背后的数据结构及算法原理
原文出处: 张洋 欢迎分享原创到伯乐头条摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全
2015-10-11 23:06:48 662
转载 全面理解HTTP
引言:作为一名软件工程Web专业学生,对于HTTP的熟悉掌握是必不可少的,特此做记录,打造自己的HTTP栈。URL与URI我们经常接触到的就是URL了,它就是我们访问web的一个字符串地址,那么URI是什么呢?他们是什么关系呢?URL:uniform resource location 统一资源定位符URI:uniform resource identifier 统一资
2015-10-11 22:40:47 478
转载 如何做好项目的培训工作?
一、培训工作在项目实施中的作用1.1培训工作的目的在IT管理软件实施项目中,培训是贯穿整个项目过程中,从一开始介入项目,就有培训,在业务调研阶段,我们可能要答复用户一些概念性问题,在现场验证推广阶段,可能我们要花费大量时间传授软件功能,在辅导上线阶段,更是要随时解答用户疑难问题。好的培训可以让用户熟练掌握实施方法,自主推动项目,增强对项目认同感,可以大大减少软件公司现场服务
2015-05-13 23:34:00 3193
转载 如何撰写项目的解决方案?
一、解决方案难写在哪里?很多人对写方案非常没有信心,一涉及到方案的事情,就束手无策,到处求人。作为一个公认的方案打手,意思是写方案就象打字员一样,我觉得我在这方面确实是有绝活。我基本上都是在方案提交前一两天接到写方案的任务,而我自己的事情一般又比别人多一点,也不能不做,只好心里大骂一句,骂完后就打电话搞清楚别人的要求,边问就边构思整个方案的推导思路和结构提纲。因为你
2015-05-13 23:33:04 23747 1
原创 JAVA 多线程和并发基础面试问答
多线程和并发问题是 Java 技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java 多线程面试问题1.进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执
2015-04-24 18:05:36 1239
转载 Java多线程-工具篇-BlockingQueue
Java多线程-工具篇-BlockingQueue转载链接地址:http://www.cnblogs.com/jackyuj/archive/2010/11/24/1886553.html前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快
2015-04-24 18:01:11 542
转载 Java中堆内存和栈内存详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器
2015-04-24 17:59:46 507
原创 Java 线程池的原理与实现
最近在学习线程池、内存控制等关于提高程序运行性能方面的编程技术,在网上看到有一哥们写得不错,故和大家一起分享。[分享]Java 线程池的原理与实现这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。一提到池,我们会
2015-04-24 17:59:21 657
Maven权威指南.rar
2009-03-14
JSF框架使用入门.rar
2009-03-14
数据结构与算法综合资料库
2009-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人