代码改变世界

程序集(Assembly)和模块(Managed Module)

2017-11-19 08:51 by shizhiyi, 1908 阅读, 1 推荐, 收藏, 编辑
摘要:前言 一直都用集成开发坏境(IDE),一直对模块和程序集的概念理解的不是很直观,因为一Build就把你的单个模块塞进程序集里面去了。当然,对你的编程也不会造成太大的影响。但有些东西你最好还是知道比较好,而且对安装部署你的应用程序一定条件下有帮助。 首先我们先来认识下托管模块(Managed Modu 阅读全文

.NET程序集(Assembly)

2017-11-19 08:46 by shizhiyi, 2409 阅读, 0 推荐, 收藏, 编辑
摘要:在.NET 中,新引入了一个程序集的概念,就是指经由编译器编译得到的,供CLR进一步编译执行的那个中间产物,在WINDOWS系统中,它一般表现为.dll,或者是.exe的格式,但是要注意,它们跟普通意义上的WIN32可执行程序是完全不同的东西,程序集必须依靠CLR才能顺利执行。 之所以要编译为程序集 阅读全文

ClassLoader 学习笔记

2017-11-18 22:24 by shizhiyi, 558 阅读, 1 推荐, 收藏, 编辑
摘要:概述 在经过编译后.java文件会生成对应的.class文件,但需要执行的时候,虚拟机首先会从class文件中读取必要的信息,而这个过程则成为类加载。类加载时类的生命周期的一部分,也是它的初始步骤。 对应于C语言等,这个过程其实就是装载的过程,但稍有不同的是,C语言装载的是经过编译连接后的文件,而类 阅读全文

操作数栈

2017-11-18 20:00 by shizhiyi, 12273 阅读, 2 推荐, 收藏, 编辑
摘要:操作数栈 每一个独立的栈帧中除了包含局部变量表以外,还包含一个后进先出(Last-In-First-Out)的操作数栈,也可以称之为表达式栈(Expression Stack)。操作数栈和局部变量表在访问方式上存在着较大差异,操作数栈并非采用访问索引的方式来进行数据访问的,而是通过标准的入栈和出栈操 阅读全文

通过反编译深入理解Java String及intern

2017-11-18 17:01 by shizhiyi, 378 阅读, 0 推荐, 收藏, 编辑
摘要:一、字符串问题 字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究。倒是面试或者笔试的时候,往往会涉及比较深入和难度大一点的问题。我在招聘的时候也偶尔会问应聘者相关的问题,倒不是说一定要回答的特别正确和深入,通常问这些问题的目的有两个,第一是考察对 J 阅读全文

Hashtable与ConcurrentHashMap区别

2017-11-18 16:39 by shizhiyi, 888 阅读, 0 推荐, 收藏, 编辑
摘要:ConcurrentHashMap融合了hashtable和hashmap二者的优势。 hashtable是做了同步的,hashmap未考虑同步。所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操作能保证程序执行的正确性。 但是hashtable每次同步执行的时候都 阅读全文

HashMap的工作原理

2017-11-18 16:26 by shizhiyi, 248 阅读, 1 推荐, 收藏, 编辑
摘要:HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至 阅读全文

全面理解Java内存模型

2017-11-18 16:23 by shizhiyi, 215 阅读, 0 推荐, 收藏, 编辑
摘要:Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。 如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共 阅读全文

Java内存模型

2017-11-18 16:22 by shizhiyi, 251 阅读, 0 推荐, 收藏, 编辑
摘要:Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内存模型——又称为Java内存模型。 如果你想设计表现良好的并发程序,理解Java内存模型是非常重要的。Java内存模型规定了如何和何时可以看到由其他线程修改过后的 阅读全文

mysql通过“延迟关联”进行limit分页查询优化的一个实例

2017-11-17 22:22 by shizhiyi, 562 阅读, 0 推荐, 收藏, 编辑
摘要:最近在生产上遇见一个分页查询特别慢的问题,数据量大概有200万的样子,翻到最后一页性能很低,差不多得有4秒的样子才能出来整个页面,需要进行查询优化。 第一步,找到执行慢的sql,如下: SELECT shotel_id as hotelId, mroom_type_id as mroomTypeId 阅读全文