- 博客(17)
- 资源 (1)
- 收藏
- 关注
转载 深入Java集合学习系列:ArrayList的实现原理
1. ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量
2015-04-28 19:24:21 388
原创 Spring+hibernate整合
一、概述。一、概述。 Spring与Hibernate的集成在企业应用中是很常用的做法通过Spring和Hibernate的结合能提高我们代码的灵活性和开发效率,下面我就一步一步的给大家讲述Spring如何和Hibernate集成的。二、代码演示。导入Hibernate的jar包Hibernate-3.2/lib
2015-04-28 01:00:40 561
转载 java基础---J2EE十三个规范
J2EE十三个规范一、十三个规范总结二、API 1.JDBC JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。简单的说就是处理数据库的一个API库。 2. JNDI JNDI是一组在Java应用中访问命名和目录服务的API。命名服务将名称和
2015-04-27 16:44:06 400
原创 java基础---static关键字
一、概述 static 关键字是声明静态变量,静态方法用的。static的含义是属于类且不属于类对象的变量和函数。二、static的产生。 在创建对象的时候除非用new创建那个类的对象,否则实际上并没有获得任何对象只有当执行new来创建对象时数据存储空间才被分配,其方法才供外界调用。但是有两种情况上述方法时无法解决的第一种只想为某特定域分配单一存储空间而不
2015-04-27 16:39:41 404
原创 Java-面向对象
一、概述。 Java属于面向对象的一种语言,因为Java是面向对象的语言所以这个语言的诞生需要有五个基本特性:1)万物皆为对象。 2)程序是对象的集合。3)每个对象都有自己的由其他对象所构成的存储。4)每个对象都拥有其他类型。每个对象都是某个类的一个实例。5)某一特定类型的所有对象都可以接收同样的
2015-04-27 16:37:14 378
转载 TCP的三次连接和四次挥手
理解:窗口和滑动窗口TCP的流量控制TCP使用窗口机制进行流量控制什么是窗口?连接建立时,各端分配一块缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端接收方发送的确认信息中包含了自己剩余的缓冲区尺寸剩余缓冲区空间的数量叫做窗口2. TCP的流控过程(滑动窗口)TCP(Transmission Control Protocol) 传输控制协议三次握手
2015-04-24 12:29:08 438
转载 TCP和UDP的区别
TCP(传输控制协议):1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算机B回发数据包,这也会产生部分通信量),有效流控,全双工操作(数据在两个方向上能同时传递),多路复用服务,是面向连接,端到端的传输;2)面向连接:正式通信前必须要与对方建立连接。事先为所发送的数据开辟出连接好的通道,然后再进行数据发送,像
2015-04-24 09:11:46 394
原创 “==“与equal的比较。
“==”比较的是值【变量(栈)内存中存放的对象的(堆)内存地址】 equal用于比较两个对象的值是否相同【不是比地址】 【特别注意】Object类中的equals方法和“==”是一样的,没有区别,而String类,Integer类等等一些类,是重写了equals方法,才使得equals和“==不同”,所以,当自己创建类时,自动继承了Object的equals方法,要想实现不同的等于比较
2015-04-21 15:29:27 462
转载 linux下做c语言开发
在开始之前,首先要说明的是,linux开发程序最主要的编辑器是vi/vim编辑器,当然还有emacs,gedit,只是vi/vim的用户实在是压倒性的多数,原因就是,它在编辑效率上的战胜了其他对手。vim是vi的升级版,带有关键字高亮显示及语法检查功能,现在很多的linux发行版都内置了它。gcc是一个非常强大的编译工具,几乎可以编译linux下所有的c语言分支,当然主指还是在ANSI C上,
2015-04-21 00:26:17 640 1
翻译 CSDN的博客积分规则及博客排名规则
最近对CSDN博客积分的计算规则比较疑惑,并看到CSDN的一篇博客《csdn博客积分如何计算》:博客排行榜排名分值=个人Blog所有随笔与文章的阅读数之和+个人Blog所有评论数之和*10+个人所发表的评论数之和*50下面是是我整理的一些规则:CSDN博客积分计算规则:1、每发布一篇原创或者翻译文章:可获得10分。2、每发布一篇转载文章:可获得2分。3、
2015-04-19 12:31:14 584
转载 Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步
一、概述 PV操作是对信号量进行的操作。 进程同步是指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。举例:就像消费者与生产者的关系,说吃馒头把有一个碗能盛下6个馒头,厨师不停的生产馒头,顾客不停的吃馒头,此时厨师与顾客的关系就是同步。(如下图)
2015-04-19 11:18:04 658
转载 Synchronized的内存可见性
在Java中,我们都知道关键字synchronized可以用于实现线程间的互斥,但我们却常常忘记了它还有另外一个作用,那就是确保变量在内存的可见性 - 即当读写两个线程同时访问同一个变量时,synchronized用于确保写线程更新变量后,读线程再访问该 变量时可以读取到该变量最新的值。比如说下面的例子:public class NoVisibility { private s
2015-04-10 18:54:46 8290 7
原创 volatile和synchronized的区别:
关于可见性的问题:可见性:即当读写两个线程同时访问同一个变量时,用于确保写线程更新变量后,读线程再访问该 变量时可以读取到该变量最新的值。volatile和synchronized的区别:1.volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。2.vo
2015-04-10 18:13:00 544
转载 从Java代码到字节码
理解Java代码是如何被编译为字节码并在Java虚拟机(JVM)上执行是非常重要的,这将帮助理解你的程序是如何执行的。这样的理解不仅仅能够让你在逻辑上更好的掌握语言特性,而且能够有机会理解在做出重要决定时所需的权衡以及相应的副作用。这篇文章解释了Java代码是如何被编译为字节码并在JVM上执行的,如果想要理解JVM的内部结构和以及字节码在运行过程中占用的不同的内存区域,请看我之前的深入JV
2015-04-09 23:13:23 829
转载 Class.forName的作用以及为什么要用它
Class.forName(xxx.xx.xx) 返回的是一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("pa
2015-04-09 09:16:15 374
原创 jvm 关于初始化时<cinit> , <init>的调用。
在编译生成class文件时,会自动产生两个方法,一个是类的初始化方法, 另一个是实例的初始化方法:在jvm第一次加载class文件时调用,包括静态变量初始化语句和静态块的执行:在实例创建出来的时候调用,包括调用new操作符;调用Class或java.lang.reflect.Constructor对象的newInstance()方法;调用任何现有对象的clone()方法
2015-04-07 17:11:33 2750
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人