`
文章列表
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp20 JAVA_JDBC预编译 相关知识点 什么是预编译语句? 预编译语句PreparedStatement是java.sql中的一个接口,它是Statement的子接口。通过Statement对象执行sql语句时,需要将sql语句发送给DBMS,由DBMS首先进行编译再执行(在创建通道的时候并不进行sql的编译工作,事实上也无法进行编译)。而通过PreparedStatement不同,在创建PreparedStatement对象时就指定了sql语句,该语句立即发送给D ...
java程序的内存分配 JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明。      一.Java源文件的编译、下载、解释和执行   Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译程序将Java源程序翻译为JVM可执行代码?字节码。这一编译过程同C/C++的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定 ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp19 序列化概述:     简单来说序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,流的概念这里不用多说(就是I/O),我们可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间(注:要想将对象传输于网络必须进行流化)!在对对象流进行读写操作时会引发一些问题,而序列化机制正是用来解决这些问题的! 问题的引出:     如上所述,读写对象会有什么问题呢?比如:我要将对象写入一个磁盘文件而后再将其读出来会有什么问题吗?别急,其中一个最大的问 ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp18 Hashtable、synchronizedMap、ConcurrentHashMap 比较 2011-08-29 17:13:16 util.concurrent包除了包含许多其他有用的并发构造块之外,还包含了一些主要集合类型List和Map的高性能的、线程安全 ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp17 1、原子性操作: 不能被线程调度机制中断的操作;--对原子性变量的赋值和返回操作通常都是原子性的 原子性可以用于除了long和double之外的所有基本类型上的简单操作(当做不可分的原子),但是JVM将64位的  (long 和double变量)读取和写入当成是两个分离的32位      操作来执行。 2、同步机制与可视性: 同步机制强制在处理器系统中,一个任务做出的修改必须在应用中是可视的,如果没有同步机   制,那么修改时可视性将无法确定。 3、关于vola ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp16 1.sleep()     使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是如果有Synchronized同步块,其他线程仍然不同访问共享数据。注意该方法要捕获异常     比如有两个线程同时执行(没有Synchronized),一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行完成后,低优先级的线程才能执行;但当高优先级的线程sleep ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo8 ReentrantLock和内部锁的性能对比     ReentrantLock是jdk5引入的新的锁机制,它与内部锁(synchronize) 相同的并发性和内存语义,比如可重入加锁语义。在中等或者更高负荷下,ReentrantLock有更好的性能,并且拥有可轮询和可定时的请求锁等高级功能。这个程序简单对比了ReentrantLock公平锁、ReentrantLock非公平锁以及内部锁的性能,从结果上看,非公平的ReentrantLock表现最好。内部锁也仅仅是实 ...
2.4 锁机制        临界区是指,使用同一个锁控制的同一段代码区或多段代码区之间,在同一时间内最多只能有一个线程在执行操作。这个概念与传统的临界区有略微的差别,这里不想强调这些概念上的差别,临界区的这样定 ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo7 Class的装载分了三个阶段,loading(加载),linking(链接)和initializing(初始化),分别定义在The Java Language Specification的12.2,12.3和12.4。 Class.forName(className)实际上是调用Class.f ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo6 32位电脑与64位电脑有什么不同?      我们通常说的64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。      64 位平台不管是在性能上,还是在功能上,都要领先于目前的32位平台,目前主流的32位处理器在性能执行模式方面存在一个严重的缺陷:当面临大量的数据流时,32位的寄存器和 ...
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo5 JVM:加载、链接和初始化 JVM要解释Java字节码,就必须对所需的类和接口执行如下3步操作: (1) 加载:JVM在加载类时,会查找该类或该接口的二进制表示,并根据找到的二进制表示(通常是由Java编译器创建的类文件)创建一个Class对象。该Class对象中封装了类或接口的运行时状态。 由类加载器执行,该步骤将查找字节码,并从这些字节码中创建一个class对象。 (2) 链接:链接这一过程是指取得已加载的类或接口、结合JVM运行时环境、准备执行该类或该接口 ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo4 许多人认为,“缓存”是内存的一部分,许多技术文章都是这样教授的,事实上这么说是不正确的。 其实,缓存是CPU的一部分,它存在于CPU中 CPU存取数据的速度非常的快 ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo3 java程序的内存分配 JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编 ...
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo2 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源 ...
Global site tag (gtag.js) - Google Analytics