流程:class -> 加载 ->  jvm虚拟机 -> 链接 . 一.类加载器概述 1.引出      类加载器也是一个java类,java.lang.ClassLoader类是所有由java代码创建的类加载器的父类.通过调用类加载器的loadClass方法可以加载Java类.由于Java类都需要由类加载器来加载,那ClassLoader类由谁加载?           其实Java平台提供了一个启动类加载器(BootStrapClassLoader),它是由原生代码来实现的(C语言)…
流程:字节码文件(.class) -> 类加载 -> 类链接 -> 类初始化 -> 对象初始化 -> 对象创建 -> 对象使用 -> 对象回收 . 1.Java类的链接 (1)回顾:Java虚拟机刚启动时,内部只包含Java核心类的相关信息,随着程序的运行,不断有新的Java类被加载到虚拟机中,变为可用状态.Java类被加载后还需要经过链接和初始化才可以在虚拟机中使用. (2)链接:把加载到Java类的字节代码中包含的信息与虚拟机的内部信息进行合并,使Java类的…
一般流程:开发人员写出java源代码(.java) ->  javac(编译器) -> java字节代码(.class) -> 加载 -> java虚拟机(jvm)运行. 1.常见java源代码的字节代码表现形式 包名: com.java.sample -> com/java/sample 基本类型:byte.char.double.float.int.long.boolean -> B.C.D.F.I.J.S.Z 引用类型:统一使用 "L" 前缀和…
OpenJDK中的Coin项目(Project Coin)的目的就是为了收集对Java语言的语法进行增强的建议.在Coin项目开始之初,曾经广泛地向社区征求提议.在短短的一个月时间内就收到将近70条提议.最后又9条提议被列入考虑之中.在这9条提议中,有6条成为Java7的一部分,剩下的2条提议会在Java8中重新考虑,还有1条提议被移到其它项目中实现.这6条被采纳提议的语法新特性涉及switch语句中使用字符串.整数字面量的改进.异常处理的优化.泛型创建简化.try-with-resources…
1.1面向对象的型与本 类是对象的抽象组织,对象是类的具体存在. 1.1.1对象的形 <?php class Person{ public $name; public $gender; public function say(){ echo $this->name,"is ",$this->gender; } } $student = new Person(); $student->name='Tom'; $student->gender='male';…
难得买到并喜欢一本好书,‘PHP核心技术与最佳实践’. 几天时间,先看了个大概,总结一下整体是什么样子的,怎么看怎么学. 1.总共14章: 2.第1.2章讲PHP的OOP: 其中第一章侧重于PHP的OOP与Java等的对比,面对对象开发的概念性问题,PHP的OOP的特殊之处,并对此给出代码例子: 3.第3.4.5章对某一个基础技术应用进行详解: 第3章讲正则表达式(md,为啥我总是看了就忘,这个东西...): 第4章讲网络技术,包括HTTP协议,socket,抓包,cURL,SMTP等应用层应用…
<深入理解OSGi:Equinox原理.应用与最佳实践>笔记_1_运行最简单的bundlehelloworld 买了周大大的OSGI的书看 先前完全没有基础 就靠这本书看看学学 顺便记一些笔记 今天先跳到了第5章的equinox启航部分 第一个简单的helloworld就遇到了问题.... 因为eclipse版本和书中不同 用书中所说得到的全是异常.... 搜索有关资料以后可以运行正常了 以此来记录一下: 在较新版本的eclipse中 不能通过java -jar org.eclipse.osg…
再次看这本书,顺手提炼了一下大致目录,以便后续看见目录就知道大概讲的些什么内容 PHP 核心技术与最佳实践 1.面向对象思想的核心概念 1.1 面向对象的『形』与『本』 1.2 魔术方法的应用 1.2.1 __set和 __get 方法 PHP 的重载和Java 等语言的重载不同. Java 里,重载指一个类中可以定义参数列表不同但名字相同的多个方法.比如,Java 也有构造 函数,只要保证方法签名不一样就行:而 PHP 则在一个类中只允许有一个构造函数. PHP 提供的『重载』指动态的『创建』…
上部分主要介绍高阶函数的常见形式,本部分将着重介绍高阶函数的高级应用. 1.currying currying指的是函数柯里化,又称部分求值.一个currying的函数会先接受一些参数,但不立即求值,而是继续返回给另一个函数,通过闭包存储起来.等到函数被真正需求要求值的时候,将之前传入的参数统一起来求值.例如,我们要计算一个月的开销,我们并不需要计算每天具体花了多少,而是需要计算月底总共花掉多少,也就是说,实际上我们只需要在月底计算一次.所以每个月的前29天,我们都只需要保存好当天的开销,到30…
<C+编程规范 101条规则.准则与最佳实践> 0.不要拘泥于小节(了解哪些东西不应该标准化) * 与组织内现有编码规范一致即可 * 包括但不限于: - 缩进 - 行长度 - 命名规范 - 注释形式 - 空格/制表符 1.在高警告级别干净利落地进行编译 * 使用编译器的最高警告级别,构建完应用程序后应该是0警告. 理解所有的警告,通过修改代码而不是降低警告级别来消除警告. * VS警告级别: - /W0 关闭所有警告 - /W1 显示严重警告 - /W2 显示等级1以及某些不太严重的警告 -…