
java
千岛飞鱼
有时候学会放弃是一种智慧,把泪换成汗水。我的爱
展开
-
自己谈谈对java堆和栈的理解
最近看了几篇关于java堆和栈的区别的几个帖子。自己对这两个概念有了一定了理解。 其实java的堆和栈是一种内存资源。这里提到了内存资源,顺便说一下其实java内存不仅仅是栈和堆。还有寄存器,常量池。 java堆内存是一个运行时数据区域,可以动态分配内存的大小,生存周期不必实现告诉编译器,存放对象和数组,优点是动态分配具有灵活性,缺点是存取慢。原创 2013-05-21 19:47:34 · 1992 阅读 · 0 评论 -
socket协议的java实现(附加代码)
Java如何使客户端和服务器进行通信?Java是通过socket来实现的. 那么什么是socket?打个比方现在有A和B两个相隔很远的城市。那么如何从A到b城市呢?很简单当然就是乘坐交通工具。所以交通工具就是一个起着沟通AB城市的纽带。而在网络中AB就是客户端和服务器,交通工具就是socket。 还有一个点不要思维定视。服务器和客户端是相对而言的。就好比上面的ab两座城市,原创 2013-09-29 12:52:34 · 1437 阅读 · 0 评论 -
戏说java线程同步和异步
我先举个生活上的例子,现在有3个人,有两个男的和一个女的。现在都吃坏肚子了,要去上厕所。这个厕所分为男厕和女厕,但是很不巧,男厕和女厕只有一个蹲坑。面对这种情况,女生有固定的女生厕所,所以女生上厕所不影响男的,但是两个男的就得争蹲坑。所以当一个男的上厕所另一个男的必须等待排队。这里就引出了线程的同步和异步。这里的男生和女生就是一种异步关系,因为双方没有什么关系。不会有资源上的冲突。但是男的和男原创 2013-09-27 21:59:25 · 1534 阅读 · 0 评论 -
java 的几种线程的几种状态
线程究竟有几种状态?查阅很多资料,最合理的解释就是笼统分5种状态。分别是:创建---就绪----运行—阻塞—销毁 在java中一个线程通过new创建线程实体,这样我们的线程就处于一个创建状态了。然后我们通过调用start()启动线程,在线程启动的时候。这样线程就进入了就绪状态。在就绪的时候,因为jvm会自动调用run方法。这样就进入了运行态。但是大家都知道就绪态到运行态在计原创 2013-09-28 17:50:52 · 2187 阅读 · 0 评论 -
不得不看的JVM内存管理
作为一个任何完整的机器都会有内存管理这块组成结构。作为jvm也有自己的内存管理。 1.那么在java中哪些组件需要使用内存。a) Java堆b) 线程:线程是在jvm运行实际程序的实体c) 类和类加载器:jvm只会加载一个类到内存一次d) NIOe) JNI:java本地接口 2那么JVM内原创 2013-09-27 12:10:12 · 1036 阅读 · 0 评论 -
classloader知识点
什么是clssloader?就是类加载器,首先明白一点他是JVM的一个最开始组成部分。他的作用顾名思义加载类。所以类加载器负责将.CLASS文件中的字节码装载到JVM。 对于classloader必须具备两个条件:负责将.CLASS文件放到JVM中;审查每个类由谁先加载。(父优先) Classloader是一个抽象类,所以要使用它必须继承。这里有3个非常重要的子类。第一原创 2013-09-23 19:01:40 · 1100 阅读 · 0 评论 -
你知道JVM吗
什么是JVM?JVM是java虚拟机。顾名思义,虚拟机?就是模拟一个计算机的意思。也就是它具有计算机的功能。所以Java虚拟机的作用就是直接将.CLASS文件里面的java字节码文件翻译成机器语言的。 JVM是如何工作的?要想知道JVM如何工作就应该搞清JVM是有什么组成的。JVM和实体机一样都有指令集。这里我们称为JVM字节码编码集。除了这个JVM还需要哪些组成部分?原创 2013-09-23 12:19:33 · 1561 阅读 · 4 评论 -
你知道javac的多少知识?
什么是javac?Javac是java的编译器。 那编译器是干嘛用的?编译器就是将一种语言规范变成另一种语言规范。从某种意义上说正是有了编译器才有了程序语言。编译器是人和机器的桥梁。 Javac的作用:介绍了编译器应该就明白了javac的用途了。Javac就是将java源代码转化成JVM(java虚拟机)能识别的语言。然后JVM才会将JVM语言转化成机器语言。其外在形式原创 2013-09-22 09:46:37 · 1822 阅读 · 0 评论 -
集合系列----TreeSet
TreeSet这个集合我为什么要讲。因为这个集合可以对对象进行排序。首先我们要了解这个集合的由来,这个集合实现set接口(具有去除重复值功能),还实现了sortset接口(可以排序)。底层是2叉树。比如说我们要对一群人按照名字来排序,这个怎么实现? 这个就可以treeset集合。那么为什么treeset就能进行排序?因为treeset里面有一个默认的比较器。所以treeset默认的原创 2013-08-28 20:25:20 · 1415 阅读 · 0 评论 -
泛型讲解
我对泛型的理解就是对类事务的一种规范化。与c++的模板相似1. 我们要知道泛型是在编译时期起作用的。2. 我们看这段代码ArrayList a=new ArrayList(); a.add("张三"); ArrayList b=new ArrayList(); b.add(1);原创 2013-07-24 18:57:03 · 1052 阅读 · 0 评论 -
注解技术
注解是jdk1.5后的新特性。未来的框架都是会采用注解技术的。所以注解技术是非常主要的。我对注解的理解是:,可以控制程序的一些行为,运行时的状态,可以为成员赋值,做配置信息等等。采用注解可以提高程序的灵活性。 下面我写一个注解的实例。 首先你给写一个注解类这个类是A.javapackagecom.fish; importjava.lang.annotatio原创 2013-07-23 18:53:25 · 1106 阅读 · 0 评论 -
盘点jdk各版本的新特性和一些专用术语
Jdk1.5新特性:1静态导入2.可变参数3.增强for循环4.基本数据类型的装箱和拆箱5.枚举6.注释7.泛型 Jdk1.6新特性在语言上没有什么变化,只是在性能上优化,使其稳定 Jdk1.7新特性1支持二进制文字 2 数值可加下划线 3switch中可以使用字串4.泛型实例化类型自动推断5.语法上支持集合,而不一定是数组原创 2013-07-21 09:28:37 · 1419 阅读 · 0 评论 -
反射技术透彻解析
在我们学习框架的时候,一讲框架的原理就经常会用到reflect(反射技术)。下面我想复习一下反射技术。 什么是反射?反射就是将一个类的一些元素(包名,类名,属性,方法,构造器)映射成为相对应的类。 这句话是网上看来的。想想非常形象。 下面我通过案例说说这个反射技术.首先要明白一个类要反射首先要得到一个类的字节码。说白了就是或得该类的类名。然后通过类名获取到你想要原创 2013-07-21 16:31:51 · 1268 阅读 · 0 评论 -
初学者说i/o流
今天用一上午的时间看了java流的一些基本知识点。因为在java中流的使用非常高。现在我就输入和输出流谈谈自己对流的认识。 Java的输入输出流来源于stream(数据流)。其中流分字节流和字符流。而字节和字符流都有输出个输入和输出流。他们分别是这四个接口。 InputStream(字节输入) outputStream(字节输出) reader(字符输入) wri原创 2013-07-02 20:58:39 · 1064 阅读 · 0 评论 -
如何用spring连接数据库
Spring如何连接数据库。首先准备7个jar包,5个是spring的,1个是commons记录spring的日志的,1个是mysql的写三个文件,一个xml,一个测试类,数据库类第一个类:packagecom.fish; importorg.springframework.jdbc.datasource.DriverManagerDataSourc原创 2013-05-27 06:37:46 · 2231 阅读 · 0 评论 -
初学者线程练习关于异步和同步
package com.fish.thread; publicclass Test22 {publicstaticvoid main(String[] args) { Inc inc=new Inc(0); Dec dec=new Dec(1); for(int i=0;i new Thread(inc).start();原创 2013-05-24 12:11:06 · 929 阅读 · 0 评论 -
javaI/O零碎
在socket协议中我们可以归有2步:一步就是建立连接 一步:是数据传输所以在数据传输中就得涉及到io。而且在web应用中io问题永远都是技术瓶颈问题。为此io编码还经常让我们在做项目中揪心。所以io的性能和原理值得我们深入探讨! 在jdk1.4版我们引入了NIO提升了io。在java中有80个io类。但是可以分为4组基于字节操作的IO:inputstream和out原创 2013-11-04 21:06:42 · 878 阅读 · 0 评论