![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
tiokld
这个作者很懒,什么都没留下…
展开
-
java Static 代码块
静态代码块的作用也是完成一些初始化工作,首先执行静态代码块,然后执行构造方法。静态代码块是在类被加载的时候执行,而构造方法是在生成对象的时候执行,要想调用某个类生成对象,首先要将类加载到JVM,然后由JVM加载这个类来生成对象。类的静态代码块只会执行一次,是在类被加载的时候执行的,而构造方法每生成一个对象时就会被调用一次。不能在静态方法中访问非静态变量。静态方法只能访问静态变量,非静态可以原创 2014-12-18 19:41:03 · 530 阅读 · 0 评论 -
为什么要抛弃maven
项目需要,开始学习maven,今天花了一整天的时间,看完了《Maven实战》这本书。书是好书,看完之后,对maven整体有了较多的了解,也知道了在项目中怎么去使用,感觉收获很大。我感觉maven这一套还是很严谨的,虽然繁杂,但是感觉很规范,各种情况它都考虑到了。而且跟Jenkins结合起来,也是很方便的。我想不到还有什么更好的办法可以解决它所要解决的问题。突然想到:为什么我以前不喜转载 2015-05-05 17:21:07 · 1544 阅读 · 0 评论 -
java socket 通信实例
先启动 Server 端,进入一个死循环以便一直监听某端口是否有连接请求。然后运行 Client 端,客户端发出连接请求,服务端监听到这次请求后向客户端发回接受消息,连接建立,启动一个线程去处理这次请求,然后继续死循环监听其他请求。客户端输入字符串后按回车键,向服务器发送数据。服务器读取数据后回复客户端数据。这次请求处理完毕,启动的线程消亡。如果客户端接收到 "OK" 之外的返回数据,会再次发送连转载 2015-06-04 10:30:51 · 552 阅读 · 0 评论 -
java socket编程
一,网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为转载 2015-05-25 15:27:02 · 437 阅读 · 0 评论 -
java 单例模式
这是一篇我见过的讲单例模式最完整的,也是讲的最好的一篇博客文章。3. 1 单例模式的动机 对于一个软件系统的某些类而言,我们无须创建多个实例。举个大家都熟知的例子——Windows任务管理器,如图3-1所示,我们可以做一个这样的尝试,在Windows的“任务栏”的右键弹出菜单上多次点击“启动任务管理器”,看能否打开多个任务管理器窗口?如果你的桌面出现多个任转载 2015-05-26 09:13:16 · 361 阅读 · 0 评论 -
java代理模式简单介绍
在阎宏博士的《JAVA与模式》一书中开头是这样描述代理(Proxy)模式的: 代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式的结构 所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代转载 2015-05-25 13:18:47 · 542 阅读 · 0 评论 -
深入java单例模式
文章出处:http://devbean.blog.51cto.com/448512/203501在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。 所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是提供了一个全局转载 2015-08-06 10:32:15 · 357 阅读 · 0 评论 -
java中关键字volatile的作用
文章转自:http://aleung.blogbus.com/logs/32090434.html 用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内转载 2015-08-06 16:50:48 · 330 阅读 · 0 评论 -
关于hashCode方法的作用
有许多人学了很长时间的Java,但一直不明白hashCode方法的作用, 我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。 你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。 那么这里就有一个比较严重的问题了转载 2015-09-29 14:28:00 · 342 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常转载 2015-09-29 14:50:04 · 319 阅读 · 0 评论 -
JSP的3个编译指令,7个动作指令,9个内置对象
3个编译指令1、page指令page指令用户定义JSP页面中的全局属性,它的语法格式如下: {language="java"}{extends="package.class"}{import="{package.class|package.*},..."}{session="true | false"}{buffer="none |转载 2015-10-20 10:04:19 · 854 阅读 · 0 评论 -
java同步中wait 与 notify
wait与notify是java同步机制中重要的组成部分。结合与synchronized关键字使用,可以建立很多优秀的同步模型。 synchronized(this){}等价与public synchronized void method(){.....} 同步分为类级别和对象级别,分别对应着类锁和对象锁。类锁是每个类只有一个,如果static的方法被synch转载 2015-03-29 14:36:23 · 402 阅读 · 0 评论 -
synchronized修饰非static方法与修饰static方法的区别
JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。假如再细的分类,synchronized可作用于instance变量、object reference(对象引用,例如this)、static函数和class literals(类名称字面常量)身上。下面讨论synchronized用到不同地方对代码产生的影响:假设P1、转载 2015-03-29 14:25:13 · 607 阅读 · 0 评论 -
Java 中堆与栈的区别
Java 中堆与栈的区别 简单的说: Java 把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用转载 2014-12-18 20:28:58 · 566 阅读 · 0 评论 -
java注解
1、什么是java注解 注解,顾名思义,注解,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的。 Java注解又叫java标注,java提供了一套机制,使得我们可以对方法、类、参数、包、域以及变量等添加标准(即附上某些信息)。且在以后某个时段通过反射将标注的信息提取出来以供使用。 2 为什么要自定义注解 Java从1.5版本以后默认内置三个转载 2014-12-21 10:15:01 · 405 阅读 · 0 评论 -
Java native 关键字
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。 可以将native方法比作Java程序同C程序的接口,其实现步骤: 1、在Java中声明native()方法,然后编译; 2、用javah产生一个.h文件; 3、写一个.cp转载 2014-12-21 21:55:04 · 390 阅读 · 0 评论 -
java中hashset()和equals()详解
1. 首先equals()和hashcode()这两个方法都是从object类中继承过来的。 equals()方法在object类中定义如下: public boolean equals(Object obj) { return (this == obj); } 很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们必需清楚,当String 、Math、还有I转载 2014-12-22 13:03:26 · 686 阅读 · 0 评论 -
java自动装箱与拆箱
1.什么是自动装箱拆箱基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。 一般我们要创建一个类的对象的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时,却可以这样: Integer i = 100; (注意:不是 int i =转载 2014-12-22 13:24:15 · 472 阅读 · 0 评论 -
java版本历史与牲性(1-7)
Java Version SE 7开发代号是Dolphin(海豚),于2011-07-28发行。引入的新特性包括:switch语句块中允许以字符串作为分支条件;在创建泛型对象时应用类型推断;在一个语句块中捕获多种异常;支持动态语言;支持try-with-resources;引入Java NIO.2开发包;数值类型可以用2进制字符串表示,并且可转载 2014-12-22 13:26:53 · 603 阅读 · 0 评论 -
理解HashSet及使用
(1) 为啥要用HahSet? 假如我们现在想要在一大堆数据中查找X数据。LinkedList的数据结构就不说了,查找效率低的可怕。ArrayList哪,如果我们不知道X的位置序号,还是一样要全部遍历一次直到查到结果,效率一样可怕。HashSet天生就是为了提高查找效率的。(2) hashCode 散列码 散列码是由对象导出的一个整数值。在Object中有一个hashCod转载 2014-12-22 15:44:24 · 456 阅读 · 0 评论 -
java反射机制
一、什么是反射机制 简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 二、哪里用到反射机制 有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码, Class.forName("com.mysql.jdbc.转载 2014-12-23 21:20:31 · 596 阅读 · 0 评论 -
Java跨平台原因
因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。而C/C++不可以跨平台的原因就是编译后的代码在特定的硬件上可以直接执行,换个硬件平台这些代码就不能被执行了转载 2014-12-14 20:57:13 · 806 阅读 · 0 评论 -
java 设计模式-单例模式-懒加载
首先推荐种最好的单例模式实现方式(没有之一)public class Manager { private Manager() { } public static Manager getInstance() { return ManagerHolder.instance; } private转载 2015-03-28 20:56:48 · 7774 阅读 · 1 评论 -
Java虚拟机JVM性能优化(一):JVM知识总结
这篇文章主要介绍了Java虚拟机JVM性能优化(一):JVM知识总结,本文是系列文章的第一篇,后续篇章请继续关注脚本之家,需要的朋友可以参考下Java应用程序是运行在JVM上的,但是你对JVM技术了解吗?这篇文章(这个系列的第一部分)讲述了经典Java虚拟机是怎么样工作的,例如:Java一次编写的利弊,跨平台引擎,垃圾回收基础知识,经典的GC算法和编译优化。之后的文章会转载 2015-11-10 21:57:45 · 604 阅读 · 0 评论