Java虚拟机 Java虚拟机之所以被称之为是虚拟的,就是因为它仅仅是由一个规范来定义的抽象计算机.因此,要运行某个Java程序,首先需要一个符合该规范的具体实现. Java虚拟机的生命周期 一个运行时的Java虚拟机实例的天职就是:负责运行一个Java程序.当启动一个Java程序时,一个虚拟机实例就诞生了.当该程序关闭退出,这个虚拟机实例也就随之消亡.每个Java程序都运行于它自己的Java虚拟机实例中. Java虚拟机实例通过调用某个初始类的main()方法来运行一个Java程序.而这个ma…
<Linux内核设计与实现>第四周读书笔记--第五章 20135301张忻 估算学习时间:共1.5小时 读书:1.0 代码:0 作业:0 博客:0.5 实际学习时间:共2.0小时 读书:1.0 代码:0 作业:0 博客:1.0 耗时估计的公式:Y=X+X/N ,Y=X-X/N 5.1 与内核通信57 系统调用在用户空间进程和硬件设备之间添加了一个中间层,该层主要作用有三个: 首先它为用户空间提供了一种硬件的抽象接口,举例来说当需要读写文件的时候,应用程序就可以不去管磁盘类型和介质,甚至不用去管…
<Linux内核设计与实现>读书笔记--第五章 标签(空格分隔): 20135321余佳源 第五章 系统调用 操作系统中,内核提供了用户进程与内核进行交互的一组接口.这些接口让应用程序受限的访问硬件设备,提供了新进程与已有进程进行通信的机制,也提供了申请操作系统其他资源的能力.提供接口主要是为了保证系统稳定可靠,避免应用程序恣意妄行. 使应用程序受限地访问硬件设备 提供创建新进程与已有进程进行通信的机制 提供申请操作系统其他资源的能力 知识点回顾: 系统调用:需要int 0x80模拟中断让硬件…
为什么需要安全性 Java的安全模型是其多个重要结构特点之一,它使Java成为适于网络环境的技术.Java安全模型侧重于保护终端用户免受从网络下载的.来自不可靠来源的.恶意程序(以及善于程序中的bug)的侵犯.为了达到这个目的,Java提供了一个用户可配置的“沙箱”,在沙箱中可以防止不可靠的Java程序.沙箱对不可靠程序的活动进行了限制,程序可以在沙箱的安全边界内做任何事,但是不能进行任何跨越这些便捷的举动.在Java 1.1中引入了基于代码签名和认证的信任模式. 基本沙箱 组成Java沙箱的基…
第五章系统调用 系统调用是用户进程与内核进行交互的接口.为了保护系统稳定可靠,避免应用程序恣意忘形. 5.1与内核通信 系统调用在用户空间进程和硬件设备间添加了一个中间层, 作用:为用户空间提供了一种硬件的抽象接口:保证了系统的稳定和安全,避免应用程序不正确使用硬件,窃取其他进程的资源,或做出危害系统的行为:为了实现多任务和虚拟内存. Linux提供的系统调用比大部分操作系统少得多. 5.2 API.POSIX.和C库 一个API定义了一组应用程序使用的编程接口.(API和系统调用不是一一对应)…
第五章 监听 本章应该是Hazelcast的核心机制了,Hazelcast通过注册各种监听器获悉集群中其他应用对数据的修改,成员的加入,退出等. 分为3个层次. 1.EntryListener(对数据项的监听) 2.InstanceListener(对数据集合监听-例如map,Set) 3.membershipEvent(对集群成员变动的监听) P.S.还能通过MigrationEvent监听数据迁移,()   虽然很核心,不过本章就是这些接口的实现使用.具体就是"看代码,看代码,看代码&quo…
Updated 2014/04/09 P581--P615 如何组织.包装与部署Java程序. 部署的选择 本机: Executable Jar 两者之间的结合: Web Start, RMI app 远程 将源代码与类文件分离(javac 的-d选项指定class存放目录).-d选项会要求编译器将编译结果根据包的结构来建立目录并输出,如果目录还没有建好,编译器会自动处理这些工作. 标准的组织化结构是创建出项目目录,然后在其下建立source和classes目录. 创建可执行的JAR 1.  确…
主要学习并记录在命令行中操作服务器时使用的六大命令工具,可视化工具JConsole和VisualVM在开发过程中熟悉. 一.jps:虚拟机进程状况工具(JVM Process Status Tool)     列出正在运行的虚拟机进程,并显示虚拟机执行主类的名称和这些进程的本地虚拟机唯一ID(LVMID).     快速定位到某个虚拟机进程.     jps命令格式:         jps [options] [hostid]     Options:         -q    只输出LVM…
第5章 系统调用 操作系统提供接口主要是为了保证系统稳定可靠,避免应用程序恣意妄行. 5.1 与内核通信 系统调用在用户空间进程和硬件设备之间添加了一个中间层. 该层主要作用有三个: 为用户空间提供了一种硬件的抽象接口. 系统调用保证了系统的稳定和安全 每个进程都运行在虚拟系统中,而在用户空间和系统的其余部分提供这样一层公共接口. 5.2 API.POSIX和C库 1.API可以在各种不同的操作系统实现,给应用程序提供完全相同的接口,而它们本身在这些系统上的实现却可能迥异. 2.在Unix世界中…
本章的标题是运算符,表达式和语句.主要研究如何处理数据. 示例代码展示了一个使用简单的while循环的代码,难度不大. 下面简单介绍本章的基本概念. 1.基本运算符. 基本运算符有:赋值运算符(C语言可以多重赋值,例如cheeta = tarzan = 68),加法运算,减法运算符,符号运算符(也称为一元运算符),乘法运算符,除法运算符(整数除法结果的小数部分会丢弃,而整数除浮点数的时候,编译器是先将整数转换为浮点数) 2.其他运算符 有sizeof,size_t,%(注意负数的情况),++,-…
队列是一种列表,但是它只能够在队尾插入元素,在队首删除元素.队列用于存储按照顺序排列的数据,先进先出.而栈则是后入栈的元素反而被优先处理. 实际中一般被应用在进程池.排队操作上面. 1. 队列的操作 和上一章的栈类似,队列也应该具有入队.出队.清空队列这几个基本操作. 基本结构如下: function Queue(){ this.dataStore = []; this.enqueue = enqueue; this.dequeue = dequeue; this.front = front;…
jvm内存模型如下图 垃圾回收: 方法区: 这部分的垃圾回收性价比低,一般不要求回收,暂认为是永久代 heap:新生代和永久代之分.永久代主要回收废弃常量和无用的类. 垃圾回收算法: 1. 标记-清除算法 标记判断: a) 该类所有实例都已经被回收,也就是heap中,不存在该类任何实例. b) 加载该类的ClassLoader已经被回收 c) 该类对应的java.long.Class对象没有任何地方被引用,无法在任何地方通过反射访问该类的方法. 问题:1. 效率不高 2.空间问题,造成大量不连续…
1.创建线程的方式: /** * StudySjms * <p> * Created by haozb on 2018/2/28. */ public class ThreadDemo extends Thread { /** * 定义线程的名字 * @param name */ public ThreadDemo(String name) { super(name); } @Override public void run() { ; i < ; i++) { System.out.p…
P205 MapReduce的两种运行机制 第一种:经典的MR运行机制 - MR 1 可以通过一个简单的方法调用来运行MR作业:Job对象上的submit().也可以调用waitForCompletion(),用于提交以前没有提交的作业,并等待其完成. Hadoop执行MR的方法依赖于两个配置设置 mapred.job.tracker - 决定执行MR程序的方式 如果设置为local默认值,表示使用本地的作业运行器,在单个JVM上运行整个作业,用于小数据集测试 如果设置为主机端口对,那么被解释为…
本章内容: 数学和统计函数 字符处理函数 循环和条件执行 自编函数 数据整合与重塑 5.1一个数据处理难题 5.2数值和字符处理函数 分为数值函数和字符串函数,下面是数学函数截图: ceiling.floor.trunc.signif函数第一次听说,是一些数位函数的处理函数.注意log是以e为底的.当上面的函数用在向量.矩阵.数据框时,单独用于每一个独立的值. 5.2.2统计函数 举个例子:mean函数 mean(x, trim = , na.rm = FALSE, ...) #trim参数表示…
1. 异常 用户希望在出现错误时,程序能够采用一些理智的行为. 如果由于出现错误而使得某些操作无法完成,程序应该:  返回到一种安全状态,并能够进行一些其他的命令: 或者:允许用于保存所有操作的结果,并以适当的方式终止程序. 异常处理的任务:将控制权从错误产生的地方转移给能够处理这种情况的错误处理器. 异常分类:   Throwable: Error和Exception Error:描述饿了Java运行时系统的内部错误和资源耗尽错误.应用程序不应该跑出这种类型的对象.如果出现了这样的内部错误,除…
5.5.1while循环 x=1 while x<=100: print x x+=1 确保用户输入了名字: name="" while not name: name=raw_input('please enter your name:') print 'hello,%s!'%name 5.5.2for循环 while语句非常灵活.它可以用来在任何条件为真的情况下重复执行一个代码块.一般情况下这样就够用了,但是有些时候还得量体裁衣.比如要为一个集合(序列和其他可迭代对象)的每个元…
http://www.cnblogs.com/batteryhp/p/5006274.html pandas是本书后续内容的首选库.pandas可以满足以下需求: 具备按轴自动或显式数据对齐功能的数据结构.这可以防止许多由于数据未对齐以及来自不同数据源(索引方式不同)的数据而导致的常见错误.. 集成时间序列功能 既能处理时间序列数据也能处理非时间序列数据的数据结构 数学运算和简约(比如对某个轴求和)可以根据不同的元数据(轴编号)执行 灵活处理缺失数据 合并及其他出现在常见数据库(例如基于SQL的…
1.当/操作符的两个操作数都是整数时,它执行整除运算:其他都是执行浮点数除法. 2.逻辑移位:左边移入的位用0填充: 算数移位:左边移入的位用符号位填充: 3.位置1 :value |= 1<<bit_number 位清零:value &= ^(1<<bit_number) 4.逻辑操作符||和&&的短路求值特性. 5.逗号操作符:表达式自左向右求值,整个逗号表达式的值等于最后那个表达式的值. 6.C的下标值总是从零开始的,并且不会对下标值进行有效性检查.…
1.C语言操作符优先级表 2.算术操作符中%(取模操作符)只适用于整型类型,其余几个操作符(+.-.*./)既适用于整型类型也适用于浮点类型.当/操作符的两个操作数都是整型时,它执行整除运算,其它情况下则执行浮点数除法. 3.移位操作符包括左移位和右移位操作符,且只适用于整型类型.左移位时,值最左边的位被丢弃,右边多出来的空位则由0补齐.右移位时,值最右边的位被丢弃,左边移入的位由0填充(逻辑移位)或由原先该值的符号位填充(算术移位).标准说明无符号值执行的所有移位操作都是逻辑移位,但对于有符号…
主要内容: 什么是系统调用 Linux上的系统调用实现原理 一个简单的系统调用的实现 1. 什么是系统调用 简单来说,系统调用就是用户程序和硬件设备之间的桥梁. 用户程序在需要的时候,通过系统调用来使用硬件设备. 系统调用的存在,有以下重要的意义: 1)用户程序通过系统调用来使用硬件,而不用关心具体的硬件设备,这样大大简化了用户程序的开发. 比如:用户程序通过write()系统调用就可以将数据写入文件,而不必关心文件是在磁盘上还是软盘上,或者其他存储上. 2)系统调用使得用户程序有更好的可移植性…
  http://www.programming2dgames.com/chapter5.htm 示例一:Planet 真正示例的开始,首先是载入2张图片 1.Graphics添加了2个方法 loadTexture和drawSprite loadTexture方法得到一个IRECT3DTEXTURE9接口 //============================================================================= // Load the text…
5.1 print和import的更多信息 5.1.1使用逗号输出 打印多个表达式也是可行的,只要将它们用逗号隔开就好: >>>print'age:',42 age: 42 要同时输出文本和变量值,却又不希望使用字符串格式化: >>> name='Gumby' >>> salutation='Mr.' >>> greeting='Hello.' >>>print greeting,salutation,name He…
相信接触过Spring的同学,对于依赖注入并不陌生. 刚开始在听说这个名字的时候,一直不明白到底什么叫依赖注入,后来才发现,依赖注入一直都存在我们日常代码中,只是我们没有刻意的把它提出来,然后再取这样一个名字. 最开始我们在定义一个类的时候它往往会依赖于其他的类,比如拼写检查器依赖于字典: 作为工具类,我们一般是声明为静态工具类的: public class SpellChecker { private static final EnglishDic dictionary=new Lexicon…
基础知识 继承机制定义了父子(parent/child)关系.父类(parent)定义了所有子类(children)共通的共有接口(public interface)和私有实现(private implementation).每个子类都可以增加或覆盖(override)继承而来的东西,以实现其自身独特的行为.在C++中,父类被称为基类(base class),子类被称为(derive class).父类和子类之间的关系则称为继承体系(inheritance hierarchy). 多态:让基类的…
子类与父类 子类 class 子类名 extends 父类名{ ....... } 类的树形结构 子类的继承性 子类和父类在同一包中的继承性 子类继承了父类不是private的成员属性和成员方法   子类和父类在同一包中的继承性 //子类中只继承protected和public的成员变量和成员方法   继承关系的UML 子类与对象 //当使用子类构造方法创建对象的时候,不仅子类声明中的成员变量被分配了内存,而且父类的成员变量也分配了内存空间 成员变量的隐藏和方法重写 成员变量的隐藏: /* *当…
<Head First Java>(点击查看详情) 1.写在前面的话 这本书的知识点说实话感觉有点散乱,但是贵在其将文字转换成了生动和更容易接受的图片,大量的比喻让人感受到了知识点的有趣之处,让学习不再那么枯燥无奈. 掌握了Java的一些基础之后,现在回过头来再看这本书,依然觉得收获颇丰,于是便把那些让人印象深刻的地方记录下来,总结.思考和分享,出于精力和效率,这里就不再细致地去罗列和整理每个知识点了(作为强迫症不得不说真的有过这样的想法,可是想着未来还有好多书要看,每本都流水一样地写,我得把…
1.了解继承 对象继承实际上就是一种"is - a"的关系,如上图的"PantherMan is a SuperHero?",是,那么便属于继承的理解. 继承能避免大量重复的程序代码,同时非常利于程序扩展(子类可以在复用父类方法的同时定义额外的功能),也定义了共同的协议(确保子类拥有父类的方法). 另外,值得注意的是,继承是无法继承下父类的private权限的属性和方法的.   2.多态的运行 Java中的多态表现为: 静态的多态:如方法重载,方法名相同,参数不同…
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76730459冷血之心的博客) 博主准备恶补一番Java高并发编程相关知识,接下来将阅读该书,并且进行比较详细的总结,好记性不如烂笔头,加油. Java多线程编程实战指南(核心篇)读书笔记(五),主要记录该书第9章和第11/12章的基本概念等知识,欢迎关注本博客. 目录: Java多线程编程实战指南(核心篇)读书笔记(一) Java多线程编程实战指南(核心篇)读书笔…
<C#从现象到本质>读书笔记(五)第5章字符串 字符串是引用类型,但如果在某方法中,将字符串传入另一方法,在另一方法内部修改,执行完之后,字符串的只并不会改变,而引用类型无论是按值传递还是引用传递,值都会发生变化. 字符串的==操作符被重写为比较字符串的值而不是其引用. 当使用代码将字符串变量等于一个新的值时,堆上会出现一个新的字符串,然后,栈上的变量指向该新字符串.没有任何办法更改原来字符串的值.由于字符串所有非私有的属性和字段都是只读或常量,也没有任何办法修改字符数组的值,字符串的值也就不…