Java超简明入门学习笔记(二)】的更多相关文章

Java编程思想第4版学习笔记(二) 第三章 操作符 & 第四章 控制执行流程(流程控制语句)         第三章和第四章的内容主要是讲操作符和流程控制语句,Java的大多数操作符和流程控制语句都和C/C++的十分类似,因此把这两章内容汇成一章,挑出Java独特的地方进行学习.         第三章         知识点1:P39,3.2,操作符,优先级       Java操作符和其他语言一样,作用于操作数,产生新值.各个操作符的优先级和结合性类似C/C++.       这里有一些特…
Java编程思想第4版学习笔记(一) 第二章 一切都是对象(Hello World)          这个笔记本主要记录了我在学习Java编程思想(第4版,中文版)的过程中遇到的重难点及其分析.主要参考了C++11版本的C++语言,对比了它们不同的部分.         知识点0:第一章概括        在探讨第二章的内容之前,先简要地概括一下第一章说了什么,第一章的标题叫做“对象导论”,第二章叫做“一切都是对象”,这种令人混淆的说法或许让人乍一看很难区分第一二章讲的内容有什么区别.    …
Java编程思想第4版学习笔记(零) 前言          这个笔记本主要记录了我在学习Java编程思想(第4版,中文版)的过程中遇到的重难点及其分析.主要参考了C++11版本的C++语言,对比了它们不同的部分.          <Java编程思想(第四版)>早在2007年就已经出版了,时值Java SE5~Java SE6升级的时间节点,现在10年过去了,Java语法标准已经到了Java 8,Java 9也快出来了,不过这本书仍然充满对Java探索的智慧,书上所讲的语法也绝大多数没有失效…
Java编程思想第4版学习笔记(四) 第六章 访问权限控制         访问权限控制是面向对象编程中的重要概念,它划分了类设计者和类使用者的界限.通过设置权限,它一方面告诉类设计者,哪个部分的修改.更新和完善是对类使用者没有影响的:另一方面也告诉了类使用者,可以使用哪些类,和哪些类成员,剩下被隐藏起来不可访问的成员都是类使用者不需要具体了解的实现细节和一些辅助抽象机制.Java通过public.protected和private关键字提供不同的访问权限.并且通过包的概念分离名字空间,并在同样…
Java编程思想第4版学习笔记(三) 第五章 初始化与清理(构造器和垃圾回收机制)         Java有和C++类似的构造函数来为新创建的对象执行初始化及完成一些特殊的操作,有的类数据成员可能会被初始化几次,它们的初始化次序和次数是根据程序决定的,可以用重载的构造函数以不同的形式对一个对象初始化,重载的构造函数之间可以通过this互相调用.最后,本章讲了finalize()函数和简单的GC机制,也提到了如何创建一个数组.        知识点1:P76,5.1,定义构造函数       当…
锁的概念 从jdk发行1.5版本之后,在原来synchronize的基础上,增加了重入锁ReentrantLock. 本文就不介绍synchronize了,有兴趣的同学可以去了解一下,本文重点介绍ReentrantLock和ReentrantReadWriteLock. 锁是什么? 并发编程的时候,比如说有一个业务是读写操作,那多个线程执行这个业务就会造成已经写入的数据又写一遍,就会造成数据错乱. 所以需要引入锁,进行数据同步,强制使得该业务执行的时候只有一个线程在执行,从而保证不会插入多条重复…
关于js变量 变量,就是一个用来存储数据的容器 一般来说,我们的变量都是可以得先声明,再使用,就像是一个东西先必须存在,才能看得见摸得着.然而在js里(es5),可以先使用,后声明. a = 100; var b =200; console.log(a,b) var a; 输出结果为:100,200 ps:这样的语法在es5里是能够执行的,虽然它不符合我们的逻辑思维.在js里叫做,变量提升. 如果在声明变量时,没有赋值,直接打印不会报错,因为它有一个默认的值,undefined,表示未定义的值.…
在最开始,我们要弄清楚node会什么会存在阻塞? node是这么标榜自己的:“在node中除了代码,所有一切都是并行执行的!” 意思是,Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js是单线程的. 也就是说,我们启动的web服务器,监听8888端口的start方法,是单线程的. 如果某一个请求耗时,那么后面的请求要等上一个请求完成之后才执行,这显然是不合理的! 如requestHandlers中start handler: function start…
前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提供初始值时不要使用new,复杂对象数组没有提供初始值时必须提供new 用()来访问元素 用for(elem <- arr)来遍历数组 用for(elem <- arr if...)...yield...来将原数组转型为新数组 Scala数组和Java数组可以互操作 数组 1.定长数组定义: //定…
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新的解析一次, 第二种,即时解析,也就是转载到内存的字节码会被解析成本地机器码,并缓存起来以提高重用性,但是比较耗内存, 第三种,自适应优化解析,即将java将使用最贫乏的代码编译成本地机器码,而使用不贫乏的则保持字节码不变,一个自适应的优化器可以使得java虚拟机在80%-90%的时间里执行优化过的…