JVM物理结构
1、Heap(堆):一个Java虚拟实例中只存在一个堆空间
2、MethodArea(方法区域):被装载的class的信息存储在Methodarea的内存中。当虚拟机装载某个类型时,它使用类装载器定位相应的class文件,然后读入这个class文件内容并把它传输到虚拟机中。
3、JavaStack(java的栈):虚拟机只会直接对Javastack执行两种操作:以帧为单位的压栈...
分类:
编程语言 时间:
2016-04-29 18:04:53
阅读次数:
283
昨天逛街的时候看到太平鸟里面摆了个金属的米老鼠,于是职业病犯了,一直在想金属的颜色是什么,这个反射该怎么写,想不出来……今天正好看到动态反射立方图系统这一节,看完觉得很别扭,因为书上介绍的是事先踩点生成Cubemap的方式而不是实时的。于是到官方文档找到实时反射的代码,做了一个比较花俏的场景,运行之后吃了一大惊,实时反射是如此的震撼。。...
分类:
编程语言 时间:
2016-04-29 18:02:57
阅读次数:
307
基本概念Observer
观察者模式(Observer Pattern)又称为发布订阅模式(Publish/subscribe)
定义对象间的一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并且自动更新
根据单一职责原则,每个类的职责是单一的,我们可以通过触发机制,形成一个触发链,把各个单一的职责串联成真实世界中的复杂的逻辑关系。
观察者模式的角色分工(JDK中提供了...
分类:
编程语言 时间:
2016-04-29 18:02:58
阅读次数:
220
题目描述
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
输入描述
一个非递减序列的一个旋转数组
输出描述
输出旋转数组的最小元素
题目分析 原数组最小的值必然是第一个,旋转后数组是两个非递减数组的拼接,只要找到第二个非递减数组...
分类:
编程语言 时间:
2016-04-29 18:02:16
阅读次数:
146
1.什么是Spring?
我们都知道框架,我学的就是struts2,mybatis和spring 三大框架
struts2处于表现层和业务处理
mybatis处理业务处理和数据访问
而Spring是无处不在的。
以上是我对Spring的理解
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert ...
分类:
编程语言 时间:
2016-04-29 18:01:48
阅读次数:
144
序言自工作以来,除了以前比较流量的hibernate,就是一直使用ORM 规范 JPA了.而这几天工作需要,研究了下JPA的标准查询,名为:JPA criteria查询.相比JPQL,其优势是类型安全,更加的面向对象.使用标准查询,开发人员可在编译的时候就检查查询的正确与否.而以前也只是在Hibernate中听说有过.具体不详,没用过.JPA元模型概念,及使用在JPA中,标准查询是以元模型的概念为...
分类:
编程语言 时间:
2016-04-29 17:59:10
阅读次数:
214
Chromium中文文档 线程...
分类:
编程语言 时间:
2016-04-29 17:59:28
阅读次数:
236
本文对JVM的性能监控方法做整理。
持续更新中… …1. JDK命令行工具1.1. jps:虚拟机进程状况工具
JVM Process Status Tool, 显示系统内所有的HotSpot虚拟机进程,用于查看当前在jvm中运行的程序,包括虚拟机执行主类的名称以及进程ID。
1.2. jstat:虚拟机统计信息监视工具
JVM Statistics Monitoring Tool, 用于收集Ho...
分类:
编程语言 时间:
2016-04-29 17:58:40
阅读次数:
187
线程的切换在看进程切换前,我们先来看线程的切换吧。
这一篇主要说的是用户级线程的切换。
因为 进程的切换=资源切换+指令执行序列切换。
将资源和指令序列分开看,如果只是从一个执行指令序列切换到另一个执行指令序列,那么这就是线程的切换。线程保留了并发(一个cpu上交替的执行多个程序)的优点,避免了进程切换代价,不需要切资源(映射表),只是切执行指令序列。线程切换的实质就是映射表不变而PC指针变。...
分类:
编程语言 时间:
2016-04-29 17:59:58
阅读次数:
186
在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。...
分类:
编程语言 时间:
2016-04-29 17:55:18
阅读次数:
179
我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:
如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。
那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?
在Java中可以通过线程池来达到这样的效果...
分类:
编程语言 时间:
2016-04-29 17:49:57
阅读次数:
160
关于c++类中的虚析构函数。
1.所有基类的析构函数,都应该声明为虚析构函数!这也是c++标准所指定的。
2.如果设计一个类,可能会被后来的其他类所继承,我们应该将它的析构函数声明为虚析构。否则被继承会出现内存泄漏等意想不到的问题。
3.如果我们要去继承另外一个类,首先一点是要保证被继承的类的析构函数已经声明为了虚析构函数!...
分类:
编程语言 时间:
2016-04-29 17:47:02
阅读次数:
244
Java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据)
一:高并发高负载类网站关注点之数据库
没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。
一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优...
分类:
编程语言 时间:
2016-04-29 17:47:37
阅读次数:
296
java中实现定时任务执行某一业务。具体操作如下:
1、定义初始化任务
2、任务业务操作
3、定义初始化方法
4、在web.xml中注册启动
5、定义具体执行时间
6、quartz定时任务时间设置
quartz定时任务时间设置...
分类:
编程语言 时间:
2016-04-29 17:46:44
阅读次数:
271
决策树是通过一系列规则对数据进行分类的过程,他提供一种在什么条件下会得到什么值的类似规则方法,决策树分为分类树和回归树,分类树对离散变量最决策树,回归树对连续变量做决策树如果不考虑效率等,那么样本所有特征的判断级联起来终会将某一个样本分到一个类终止块上。实际上,样本所有特征中有一些特征在分类时起到决定性作用,决策树的构造过程就是找到这些具有决定性作用的特征,根据其决定性程度来构造一个倒立的树–决定性作用最大的那个特征作为根节点,然后递归找到各分支下子数据集中次大的决定性特征,直至子数据集中所有数据都属于同一...
分类:
编程语言 时间:
2016-04-29 17:45:15
阅读次数:
259
1.概念
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。
结构图如下所示:
2.基本操作实例
DoubleList.cpp
#include "stdafx.h"...
分类:
编程语言 时间:
2016-04-29 17:47:07
阅读次数:
221
1.numpy.random.normal
numpy.random.normal
numpy.random.normal(loc=0.0, scale=1.0, size=None)
Draw random samples from a normal (Gaussian) distribution.
The probability density function o...
分类:
编程语言 时间:
2016-04-29 17:44:37
阅读次数:
265