JAVA
文章平均质量分 53
linxi1209163com
这个作者很懒,什么都没留下…
展开
-
Struts2 的应用及其常用配置参数
一、先看一个使用Struts 2框架实现的登录demo: 1、创建java web 项目,引入依赖jar包,拷贝到WEB-INF/lib下 commons-fileupload-1.2.1.jar commons-logging-1.0.4.jar freemarker-2.3.15.jar原创 2015-09-30 16:24:31 · 669 阅读 · 11 评论 -
轻松搞定java内存模型(一)基本组成
Java内存大概模型如上图,包含五大部分,其中方法区和堆是线程共享的,虚拟机栈,本地方法栈,程序计数器是线程私有的。1:程序计数器 程序计数器可以看做当前线程所执行的字节码(可以简单理解为java类经过编译后便是字节码)的行号指示器,字节码解释器通过改变程序计数器的值来选区下一条需要执行的字节码指令。 如果正在执行的是一个java方法,计数器记录的是正在执行的虚拟机原创 2016-04-20 16:11:14 · 698 阅读 · 5 评论 -
轻松搞定java内存模型(零)总括
轻松搞定java内存模型(零) 乒乓球打坏的时候,一把火点着,boom!这是我们儿时常玩的小把戏,但是从这个小把戏我们就可以看出了解事物的本质多么重要,如果我们只知道使用乒乓球(可以用拍子打乒乓球,hava fun)那么怎么可能在乒乓球坏了的时候(如果我们不了解乒乓球是塑料做的,可燃),来个终结的boom! 同理,工具是用来使用的,但是仅仅知道工具怎么使用原创 2016-04-20 16:09:22 · 466 阅读 · 3 评论 -
轻松搞定java内存模型(四)垃圾回收算法
轻松搞定java内存模型(四)垃圾回收算法 上一篇介绍了什么样子的类要被回收,这次我们来聊一聊那些被当做垃圾的类是如何被回收的。 1:标记清除算法---最基础的垃圾收集算法 算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。这个算法相对来说很简单,但是效率不高,而且标记清除之后会产生大量不连续的内存碎原创 2016-05-29 20:36:13 · 713 阅读 · 2 评论 -
Java 内省机制
Java 内省机制 Java的内省机制其实就是基于java反射专门用于操作bean的属性的API。或者说内省是java语言对bean类属性,事件的一种缺省处理方法。 JavaBean:是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有字段,且方法名符合某种命名规则。如果在两个模块之间传递信息,可以将信息封装进javaBean中,这种对象称为原创 2016-05-30 20:44:03 · 641 阅读 · 4 评论 -
自己实现简单Spring Ioc
自己实现简单Spring Ioc 最近又接手一个项目,不出所料,用到的依然是依然是ssm,简单方便。但是这次忍不住多看了看spring的东西,也好好深入学习下,今天抽空随手写了一个spring ioc的实现,下面分享给大家,只是一个简单ioc实现,没有复杂的功能,如有错误还请大家指出,互相交流,互相提高。 Ioc的概念性的东西不再赘述,相信大家都懂。简单来说io原创 2016-05-31 10:48:40 · 4016 阅读 · 4 评论 -
Hadoop基础之HDFS
Hadoop基础之HDFS HDFS是hadoop的分布式文件系统,是一个高度容错性的系统(做了冗余),适合部署在廉价的机器上。可以提供高吞吐量的数据访问,适合大规模数据集上的应用。 简单结构:DateNode+NameNode 设计思路:个人理解,首先从宏观来说,DN做集群,数据做冗余,这样使得hdfs的容错性增加,NN的设计有点类似jvm中的栈,以及D原创 2016-05-31 20:13:17 · 448 阅读 · 1 评论 -
轻松搞定java内存模型(五)常用命令jps
一:简介 Jps(Java Virtual Machine Process Status Tool)应该是我们关于jvm常用命令的开始,也是最常用的命令之一。同样位于jdk的bin目录下,其作用很简单,就是显示当前系统的java进程情况,以及其id号。 Jps是我们后续使用jmap,jstat等命令的基础。 Jps相当于linux中的ps命令(Proc原创 2016-06-24 21:27:17 · 511 阅读 · 0 评论 -
轻松搞定java内存模型(六)堆内存溢出实例
一:环境准备 Eclipse任意版本 Jdk任意版本 找到eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit 按钮,在编辑界面中的“Default VM Arguments ”选项中,按照如下图所示进行配置。 二:原理 堆内存溢出的原理很简单,jv原创 2016-06-25 09:59:22 · 490 阅读 · 1 评论 -
jvm之一命令jmap
jvm之一命令jmap原创 2016-06-30 17:02:12 · 1715 阅读 · 1 评论 -
jvm命令之jstat
jvm命令之jstat原创 2016-06-30 17:02:46 · 1287 阅读 · 2 评论 -
深入浅出Dubbo(一)
深入浅出Dubbo(一)原创 2016-07-31 20:55:58 · 1089 阅读 · 2 评论 -
深入浅出Dubbo(二)
深入浅出Dubbo(一)原创 2016-07-31 20:56:27 · 758 阅读 · 1 评论 -
深入浅出Dubbo(三)
深入浅出Dubbo(一)原创 2016-07-31 20:57:00 · 583 阅读 · 2 评论 -
轻松搞定java内存模型(三)判断对象是否应该被回收
轻松搞定java内存模型(二)判断对象是否应该被回收 上一篇我们介绍完了类的整个加载过程,这样我们写好的类就可以在虚拟机中发光发热了,那我们该怎么判断,我们创建的对象在虚拟机中什么时候该被回收,释放自己占用的内存呢? 1:引用计数法 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的原创 2016-04-30 15:15:33 · 599 阅读 · 2 评论 -
轻松搞定java内存模型(二)类的加载以及初始化
上一篇我们队java虚拟内存构成做了基本的介绍,本篇就以HotSpot虚拟机为例,分析下一个对象从创建到被销毁的过程。本篇主要讲解类的加载过程。1:类的加载过程 类的加载过程大概可以分为一下三步:装载,链接,初始化。A:装载,即查找并记载类的二进制数据(.class)文件。B:链接,链接分为一下三步:验证:确保被加载类的正确性;准备:为类的静态变量分配内原创 2016-04-29 20:26:07 · 738 阅读 · 1 评论 -
CAP理论
EJB原创 2016-03-31 20:39:47 · 497 阅读 · 2 评论 -
JAVA程序运行原理——知其然,而知其所以然
最近看书被几个有意思的问题吸引:你写java程序吗? 它的运行机制你懂多少?你用eclipse开发吗?它的运行机制你懂多少?你用tomcat 部署吗? 它的运行机制你懂多少?你想过这些软件也是人开发出来的吗?依赖这么深入,哪天它不干了,你还干不干? 然后,让我就接着看了看,然后,让我们一起来看看java语言原理。【哈哈】编译型语言 VS 解释型语言编译型语言原创 2015-09-30 16:23:43 · 13042 阅读 · 37 评论 -
JVM内存分析以及Jconsole(二)
Jconsole简介和使用 一:什么是jconsole Jconsole是一个java内置的性能分析器,可以从命令行中直接启动(集成在了jdk中,从java 5 开始)。Jconsole 还有一个亲兄弟,VisualVM,用法类似功能型比jconsole强大一些,具体大家可以自行百度。 二:启动和使用原创 2015-12-28 19:27:25 · 811 阅读 · 5 评论 -
JVM内存分析以及Jconsole(一)
JVM内存分析以及Jconsole 最近在做的一个高校云平台项目慢慢接近了尾声,在功能慢慢完善的情况下我也抽时间来考量下自己代码的质量。刚好最近服务器Jboss三天内两次报了一个最常见也是最棘手的小问题:“java.lang.OutOfMemoryError: Java heap space ”;简直脑袋疼。一:堆及GC机制 Java 中内存分为四种:栈区,堆区原创 2015-12-14 21:47:28 · 848 阅读 · 8 评论 -
Otter(二)---了解zookeeper
上篇小编对otter做了基本的介绍,并对其原理也做了简单的讲解,但是有一点还没有说明白,就是其中的zookeeper部分,在otter中zookeeper负责分布式的协调调度,要想对otter真正了解,今后真正用好otter必须要搞清楚zookeeper的原理和它在otter中的应用。并且我们在otter实际应用的时候也是必须要配置使用zookeeper的。 一:什么是zookeeper:原创 2015-11-27 15:30:04 · 2290 阅读 · 5 评论 -
Otter(一)初识----简介和基本架构图
前阵子做的一个安防平台的项目,其中有一个需求,就是满足22个车站的数据库同步,虽然之前也接触过数据库同步,但是只是做过简单的master/slave,对于22个跨机房的数据库同步还真没做过,经过一番的交流讨论之后暂定使用阿里巴巴的开源项目otter,来解决这个问题。原创 2015-11-27 10:41:16 · 6451 阅读 · 6 评论 -
小心错误使用EasyUI 让网站性能减半
小心错误使用EasyUI 让网站性能减半 背景: 最近接手了公司一个做了小一年的项目—高校教务基础系统,先不谈需求,和系统架构,直接上来就被抛来了一个问题----基础性能太差了,一个网页打开要好几秒。我了个天,我听了也简直不敢相信,难道是数据量特别大?还是其中业务逻辑特别复杂? 简单的介绍下,基础系统是我们整个高校云平台里一个子系统,整个平台用原创 2015-12-29 20:56:01 · 4313 阅读 · 7 评论 -
otter(三)--同步过程小解
进一步了解otter原理,本文主要从简单的两个例子来讲解基本的同步过程1:单机房同步2:异地机房同步原创 2015-11-27 16:41:53 · 2394 阅读 · 4 评论 -
初识kafka
什么是Apache kafka? 系统应用用户的活动数据、请求数据、交互数据、运行维护数据如性能监测、服务器CPU指标这些大量的数据都在无时无刻的产生,Kafka便是有着一套成熟的消息处理方案的消息系统,支持高吞吐量的分布式发布订阅消息模式,它可以处理消费者规模的网站中的所有动作流数据。也是Apache的顶级开源框架。应用领域 已被多家公司用作多类型的数据管道和消息系统原创 2016-03-31 20:30:37 · 1031 阅读 · 3 评论 -
Java 反射机制
Java 反射机制 1:Class 类 在面向对象的世界里,万事万物皆对象,我们平时在java中创建的类,也是对象,这些类都是Class类的对象。 例如我们创建一个Student类,那么 Studentstu=new Student();这时候,stu是类Student的对象,而Student这个类又是C原创 2016-02-28 20:22:08 · 518 阅读 · 5 评论 -
类装载机制
类装载机制最近在项目中常常遇到各种各样的错误信息,java.lang.ClassNotFoundExcetpion是比较常见的一个,于是稍微研究了下,涉及到我们一直在用却常常忽略的类加载机制。1:类的加载过程 类的加载过程大概可以分为一下三步:装载,链接,初始化。 A:装载,即查找并记载类的二进制数据(.class)文件。 B:链接,链接原创 2016-02-29 19:44:42 · 842 阅读 · 4 评论 -
spring ioc 原理小解
站位原创 2016-02-29 21:06:03 · 375 阅读 · 0 评论 -
关于EJB,为什么用EJB?为什么不用EJB?
EJB原创 2016-03-31 20:37:47 · 14070 阅读 · 6 评论 -
初识分布式
EJB原创 2016-03-31 20:39:07 · 402 阅读 · 3 评论 -
深入浅出Dubbo(四)
深入浅出Dubbo(一)原创 2016-07-31 20:57:31 · 460 阅读 · 1 评论