Java相关
shengzhu1
scala语言编程,java语言编程
展开
-
String、StringBuffer和StringBuilder的区别
[原文链接](http://blog.csdn.net/kingzone_2008/article/details/9220691)1 StringString:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。String类的包含如下定义:[java] view plain copy print?/** The value is used for chara转载 2017-06-11 14:49:03 · 210 阅读 · 0 评论 -
JAVA – 虚函数、抽象函数、抽象类、接口
[原文链接](http://lib.csdn.net/article/javase/2224) JAVA – 虚函数、抽象函数、抽象类、接口 1. Java虚函数虚函数的存在是为了多态。C++中普通成员函数加上virtual关键字就成为虚函数Java中其实没有虚函数的概念,它的普通函数就相当于C转载 2017-06-11 14:35:24 · 298 阅读 · 0 评论 -
Java中反射机制(Reflection)
反射的概念在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任 意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。 Java 反射机制主要提供了以下功能: ①:在运行时判断任意一个对象所属的类。 ②:在运行时构造任意一个类的对象。 ③:在运行时判断任意一个转载 2017-06-11 09:50:09 · 486 阅读 · 0 评论 -
Java的equal方法和==的一个坑
equal方法和==的区别如果是基本数据类型,用==比较的是其值,如果是复合数据类型,用==比较的是它们在内存中的存放地址,因此除非是同一个new出来的对象,否则比较结果都是false。此时想比较复合数据类型的值,应该用equal方法。实例两个Interger 数据做比较Integer a=1;Integer b=1;Integer c=128;Integer d=128;System.out原创 2017-06-10 16:34:46 · 1056 阅读 · 0 评论 -
Java的编译概念
Java的“编译期”其实是一段不确定的操作过程,它可能的过程为以下三种:前端编译器:或许叫编译器的前端更合适,指的是把*.java文件转化为*.class文件的过程后端运行期编译器:JIT(Just In Time Compiler),把字节码转变成机器码的过程静态提前编译器:AOT编译器(Ahead Of Time Compiler)直接吧*.java文件编译成本地机器码的过程。其具有代表原创 2017-06-09 16:39:21 · 435 阅读 · 0 评论 -
Java的volatile变量
<!-- Article Body --> <p>Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有转载 2017-06-07 15:39:28 · 247 阅读 · 0 评论 -
Java的断言
定义和用法转载 2017-06-02 21:37:05 · 431 阅读 · 0 评论 -
Java的匿名内部类
做测试,参考666页转载 2017-06-02 21:35:56 · 237 阅读 · 0 评论 -
Java的Protected
https://zhidao.baidu.com/question/1864554280080109987.html做一下测试原创 2017-06-02 21:34:49 · 560 阅读 · 0 评论 -
Java的native方法
一. 什么是Native Method简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern “C”告知C++编译器去调用一个C的函数。 “A native method i转载 2017-06-07 09:34:31 · 294 阅读 · 0 评论 -
在Java中如何遍历Map对象
[原文链接](http://blog.csdn.net/tjcyjd/article/details/11111401)How to Iterate Over a Map in Java在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap,转载 2017-06-24 16:15:14 · 528 阅读 · 0 评论 -
Java的特殊类——数组对象的类
Java数组对象的类是一种特殊的类,在Java内部是没有这个类的,数组对象的类是在运行时确立的,没有生命任何成员变量、成员方法、构造函数、Annotation甚至连length成员变量这都没有,它就是一个彻彻底底的空类。对数组对象取长度的时候,需用到.length,而不是一般对象的.length(),是因为JVM在处理时对数组的长度做了特殊的处理,它是通过arraylength这条指令来实现的。参考原创 2017-06-26 14:57:40 · 1498 阅读 · 0 评论 -
Java中如何实现Web的会话跟踪
HTTP是“无状态”协议:客户程序每次读取 Web 页面,都打开到 Web 服务器的单独的连接,并且,服务器也不自动维护客户的上下文信息。即使那些支持持续性 HTTP 连接的服务器,尽管多个客户请求连续发生且间隔很短时它们会保持 socket 打开,但是,它们也没有提供维护上下文信息的内建支持。上下文的缺失引起许多困难。例如,在线商店的客户向他们的购物车中加入商品时,服务器如何知道购物车中己有何种物转载 2017-07-30 23:36:37 · 785 阅读 · 0 评论 -
Java的强引用、软引用、弱引用
用表格表示 引用类型 被垃圾回收时间 用途 生存时间 强引用 从来不会 对象的一般状态 JVM停止运行时终止 软引用 在内存不足时 对象缓存 内存不足时终止 弱引用 在垃圾回收时 对象缓存 gc运行后终止 虚引用 Unknown Unknown Unknown参考转载 2017-09-03 16:24:50 · 368 阅读 · 0 评论 -
WeakHashMap
先看一个例子:import java.util.HashMap;import java.util.Map;import java.util.WeakHashMap;/** * Created by zhuhao on 17-9-3. */public class TestWeakHashMap { public static void main(String[] args) {原创 2017-09-03 16:05:10 · 294 阅读 · 0 评论 -
Session的3种同步方法
原文链接在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是登录状态。所以本文就根据这种情况给出三种不同的方法来解决这个问题:利用数据库同步做多服务器session同步时我没有用这种方法,如果非要用这种方法的话,我想过二种方法:1,用一个低端电脑建个数据转载 2017-09-20 00:19:17 · 4017 阅读 · 0 评论 -
Java中的final关键字
参考:浅析Java中的final关键字 一.final关键字的基本用法在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。1.修饰类当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注转载 2017-08-29 00:23:53 · 371 阅读 · 0 评论 -
JDBC
JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。JDBC API 库包含下面提到的每个任务,都是与数据库相关的常用用法。制作到数据库的连接。 创建 SQL 或 MySQL 语句。 执行 SQL 或 MySQL 查询数据库。 查看和修改所产生的记录。入门概念:极科学院——JBDC简介 实例:用JBDC连接my转载 2017-08-06 16:26:17 · 288 阅读 · 0 评论 -
Java的内存泄露和内存溢出
概念内存泄露:指无用对象持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间浪费。内存溢出:指程序运行中无法申请到足够的内存而导致的一种错误,内存泄露是内存溢出的一种诱因,但不是唯一因素。JAVA 内存泄漏与内存溢出 java内存溢出和内存泄露转载 2017-07-27 10:46:16 · 226 阅读 · 0 评论 -
ConcurrentHashMap的研究
ConcurrentHashMap是Java5中对HashMap的很好的补充,其特点是高并发,今天对其特点及内部数据结构了解了一下,下面几篇文章讲的很好,第一篇建立一个基本概念,第二篇更深入一些,第三四两篇可作为补充ConcurrentHashMap 的实现原理——极客学院 探索 ConcurrentHashMap 高并发性的实现机制 ConcurrentHashMap之实现细节 Java并发转载 2017-07-26 17:06:28 · 281 阅读 · 0 评论 -
java开发必会的linux命令
1.查找文件find / -name filename.txt 根据名称查找/目录下的filename.txt文件。find . -name “*.xml” 递归查找所有的xml文件find . -name “*.xml” |xargs grep “hello world” 递归查找所有文件内容中包含hello world的xml文件grep -H ‘spring’ *.xml 查找所以有的包含sp转载 2017-07-22 15:23:10 · 331 阅读 · 0 评论 -
Java5、6、7、8、9的新特性
Java5java5是很重要的一个版本,有泛型、枚举、自动装箱/拆箱、可变参数、注解、foreach循环、静态导入、新的线程模型等等更新。具体参考 Java5的新特性Java6鸡肋的版本,有JDBC4.0更新、Complier API、WebSevice支持的加强等更新。 Java6的新特性Java7java7有一些比较重要的更新,如异常处理增加了被抑制的异常、捕获多异常、try-with-r原创 2017-07-22 10:28:59 · 12002 阅读 · 2 评论 -
java 虚拟机--新生代与老年代GC
1. Java堆中各代分布: 图1:Java堆中各代分布 Young:主要是用来存放新生的对象。 Old:主要存放应用程序中生命周期长的内存对象。 Permanent:是指内存的永久保存区域,主要存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域. 它和和存放Instance的Heap区域不同,GC(Garba转载 2017-06-07 09:19:18 · 415 阅读 · 0 评论 -
java的访问控制符
Java 通过修饰符来控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如:public class className { // body of class}private boolean myFlag;static final double weeks = 9.5;protected static final int BOXWIDTH = 42;public st转载 2017-05-28 10:16:31 · 485 阅读 · 0 评论 -
Java的重载和覆盖
一,重写(override),也翻译成覆盖。在java中含义:同一个东西只有一种含义,只是原先的含义完全被后来的含义取代。 重写(覆盖)的规则: 1、重写方法与被重写方法参数列表类型必须完全一致。 2、重写方法的访问修饰符一定要大于或等于被重写方法的访问修饰符(public>protected>default>private)。 3、重写的方法的返回值和被重写的方法的返回值必须保持一致;转载 2017-05-28 09:53:13 · 302 阅读 · 0 评论 -
Java 中extends与implements使用方法
初学Java语言, 代码中的extends和implements让我感到很迷惑,现在终于弄明白它们之间的区别和用法了。//定义一个Runner接口 public inerface Runner { int ID = 1; void run (); } //定义一个interface Animal,它继承于父类Runner interface Animal转载 2017-05-01 14:47:34 · 856 阅读 · 0 评论 -
在IDEA中使用自己写好的Java代码
之前在Idea中用Java写了一个包,叫MyDataStructures,包含了一些自己写的数据结构的实现方法,在之后的工程MyAlgorithms中想要用到自己的数据结构,那么如何做呢?网上查的结合自己的总结,顺序如下:在要打包的工程包MyDataStructures下,打包其为一个JAR包将打包的JAR包编译(Build),打包和编译Idea包打包完成后,进入需要调用此JAR包的工程MyA原创 2017-04-30 21:13:31 · 2193 阅读 · 0 评论 -
Java的static方法与非static方法
生命周期(Lifecycle): 静态方法(Static Method)与静态成员变量一样,属于类本身,在类装载的时候被装载到内存(Memory),不自动进行销毁,会一直存在于内存中,直到JVM关闭。 非静态方法(Non-Static Method)又叫实例化方法,属于实例对象,实例化后才会分配内存,必须通过类的实例来引用。不会常驻内存,当实例对象被JVM 回收之后,也跟着消失。 在内存中存储转载 2017-04-18 21:40:42 · 2655 阅读 · 0 评论 -
Java的collection
一、综述 java集合框架定义了几个接口,这些接口决定了collection类的基本特性。不同的是,具体类仅仅是提供了标准接口的不同实现,如图,java集合框架接口图 从图可知,java集合类的主要是由两个接口派生而出——Collection和Map,Collection和Map是集合框架的根接口。其介绍如下:Collection — 位于集合框架的顶层,一个Collection代转载 2017-04-14 10:21:06 · 315 阅读 · 0 评论 -
Java的内部类
作为刚入门Java的小白,这两天看到内部类,这里做一个总结,若有错误,欢迎指正~内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。内部类分为: 成员内部类、局部内部类、静态嵌套类、匿名内部类 。1.成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:?123456789101112131415161718192021class Outter {转载 2017-04-14 00:42:51 · 355 阅读 · 1 评论 -
IDEA方便的快捷键
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧。1 智能提示Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型转载 2017-04-13 01:18:11 · 279 阅读 · 0 评论 -
IDEA几个快捷键
今天偶然发现了IntelliJ中 创建main函数的快捷键,依次还有for循环,System.out.println();在编写代码的时候直接输入psv就会看到一个psvm的提示,此时点击tab键一个main方法就写好了。psvm 也就是public static void main的首字母。依次还有在方法体内键入for会有一个fori的提示,选中然后tab键,就会自动创建一个for循环。如何转载 2017-04-13 01:15:16 · 246 阅读 · 0 评论 -
getClass(),class属性和getName()解析
getClass方法:类型:public final Class<? extends Object> getClass()功能:返回该对象的运行时类的Java.lang.Class对象(API上的解释) 有方法类型可以知道,该方法只能由类的实例变量调用例子:view plain copyJButton b1 = new JButton("button1"); System.out.p转载 2017-04-13 01:03:52 · 750 阅读 · 0 评论 -
@SuppressWarnings注解
简介: java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。作用: 告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。 使用: @SuppressWarnings(“”) @SuppressWarnings({}) @SuppressWarnings(value={})su转载 2017-04-13 00:37:30 · 660 阅读 · 0 评论 -
常用的Java注释标签
1 常用Java注释标签(Java comment tags) @author 作者 适用范围:文件、类、方法 (多个作者使用多个@author标签标识,java doc中显示按输入时间顺序罗列。) 例: @author Leo. Yao @param 输入参数的名称 说明 适用范围:方法 例:* @param str the String用来存放输出信息。 @r转载 2017-04-13 00:25:27 · 5324 阅读 · 0 评论 -
第五章 KMP匹配算法
KMP算法思想介绍 KMP算法的next数组求法介绍 Java实现具体实现:/** * 定义接口,下面的Class继承并实现 */interface StringMatch{ /** * 从source字符串中找到substr字符串 * @param source 原字符串 * @param substr 子字符串 * @return ind转载 2017-04-19 17:29:49 · 257 阅读 · 0 评论 -
java中int与integer的区别
java中int与integer的区别int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别:int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也就是一个类);因此在类进行初始化时int类的变量初始为0。而Integer的变量则初始化为null。初始化时转载 2017-05-10 21:10:37 · 508 阅读 · 0 评论 -
Java的final
根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方法。注转载 2017-04-20 14:25:11 · 261 阅读 · 0 评论 -
无法从静态上下文中引用非静态 变量 this
今天在牛客网刷题,遇到了一个问题,Error:(10, 23) java: 无法从静态上下文中引用非静态 变量 this,主要是因为我把一个Node类写在了主类内部,然后在Main函数中用以下方法调用Node head = new Node(1);分析想要以之前的用法使用,有以下两种方法: 1. 把Node类的定义移到主类的外部,让其成为内部类,这样就不必依附于主类,可以单独使用; 2. 在No原创 2017-05-07 22:29:11 · 8732 阅读 · 0 评论 -
IDEA中文显示口口口口口...解决方法
由于从Atom转战IDEA,因此对其字体DejaVu Sans Mono情有独钟,因此在Setting -> Appearance & Behavior -> Appearance -> Override default fonts by(not recommended) -> Name的自体改为DejaVu Sans Mono但是后来发现IDEA的控制台显示中文变成了口口口口...找了很多方法都没原创 2017-05-07 22:09:15 · 4313 阅读 · 0 评论