![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
洺鱼
一只萌萌的程序员
展开
-
Java学习相关知识点
·java运行环境配置和ide使用,jdk》jre》jvm的理解,GC的了解·数据类型和运算符https://blog.csdn.net/qq_16660859/article/details/52703288·流程控制和数组https://blog.csdn.net/qq_16660859/article/details/52703288·与运行环境交互(运行java程...原创 2020-03-09 23:48:03 · 93 阅读 · 0 评论 -
java枚举
枚举枚举是一个小功能,但是却带来了大方便。一个星期有七天,我们平时定义这七天为常量的时候,会这么写:public final static String SUNDAY = "0";public final static String MONDAY = "1";public final static String TUESDAY = "2";public final static String转载 2016-08-31 11:35:38 · 186 阅读 · 0 评论 -
To Java程序员:切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法:public static void main(String[] args){ List<Integer> arrayList = new ArrayList<Intege转载 2016-08-31 15:01:01 · 203 阅读 · 0 评论 -
Comparable和Comparator的区别
ComparableComparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,至于具体和另一个实现了Comparable接口的类如何比较,则依赖compareTo方法的实现,compareTo方法也被称为自然比较方法。如果开发者add进入一个Collection的对象想要Collections的sort方法帮你自动进行排序的话,那么这个对转载 2016-08-31 11:40:36 · 197 阅读 · 0 评论 -
java中类与类之间的几种关系
一、继承关系继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。 二、实现关系实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口转载 2016-08-31 15:56:12 · 247 阅读 · 0 评论 -
xml基础
一、xml可以做什么? 1.借助标签更加清晰地描述数据; 2.平台之间数据的传递; 3.充当一些配置文件。二、xml构成: 1.声明 2.约束 3.元素 4.注释三、xml声明: 要求:1.必须顶格写,必须在第一行; 2." 3."?>"中间不能有空格.原创 2016-08-25 17:46:58 · 308 阅读 · 0 评论 -
java注释要点
一、Annotation是一个接口,程序可以通过反射来获取指定程序元素的Annotation对象,然后通过Annotation对象来取得注释里的元数据。 Annotation能为程序元素(类、方法、成员变量等)设置元数据,值得指出的是Annotation不能影响程序代码的执行。如果希望Annotation在运行 时起一定的作用,只有通过某种配套工具对Annotation中的信息原创 2016-08-25 17:44:29 · 246 阅读 · 0 评论 -
java反射要点
1.定义:java中的一组API,主要是面向底层运行时动态获取类的内部信息的一种方式。2.应用: 1》反射的起点(Class),获取类对象(类的字节码对象)有以下三种方式, Class c1=类名.class; Class c2=new 类名().getClass(); Class c3=Class.forName(类全名); 注意原创 2016-08-25 17:40:18 · 313 阅读 · 0 评论 -
java类加载
一、系统可能在第一次使用某个类时加载该类,也可能采用预先加载机制来预加载某个类。二、当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过装载、链接、初始化三个步骤来对该类进行初始化。 类的加载由类加载器完成,如果没有意外,JVM会连续完成这三个步骤。 1.装载:查找并加载类的二进制数据; 2.链接: 1·验证:确保被加载类的正确性;原创 2016-08-25 18:53:22 · 277 阅读 · 0 评论 -
Java字节码里的invoke操作&&编译时的静态绑定与动态绑定
一个一直运行正常的应用突然无法运行了。在类库被更新之后,返回下面的错误。1.Exception in thread "main" java.lang.NoSuchMethodError: com.nhn.user.UserAdmin.addUser(Ljava/lang/String;)V 2.n.service.UserService.add(UserService.java:14) 3.转载 2016-09-05 15:46:03 · 383 阅读 · 0 评论 -
五分钟,正则表达式不再是你的烦恼
详细资料: http://www.jianshu.com/p/4f258d81ff4chttp://deerchao.net/tutorials/regex/regex.htm原创 2016-09-29 11:48:03 · 266 阅读 · 0 评论 -
java编程基础
一、java中的标识符怎么命名?可以用中文吗? 命名规则: 1.由中英文字母、数字、下划线和美元符号组成,不能以数字开头; 2.区分大小写; 3.不能与java关键字同名; 4.长度没有限制。 支持中文但不建议用中文命名。二、java中有哪些关键字? 请查看java关键字表。三、private、default、protected、public修饰符有什么区别?原创 2016-09-29 16:49:58 · 214 阅读 · 0 评论 -
Java不同类型密钥库之PKCS12和JCEKS
编者注:密钥库是一个存放加密密钥和证书的存储设施,它们经常用于SSL通信来标明服务器和客户机的身份,一个密钥库可以是一份文件或硬件设备。Java中不同类型的密钥库包含:PrivateKey、SecretKey、JKS、PKCS12、JCEKS等。其中JKS的详细介绍可参考《Java不同密钥库类型之JKS》。本文所讲诉的为PKCS12和JCEKS的用法。以下为译文:JCEKSJCEKS是Java平台的转载 2016-10-17 16:37:46 · 2783 阅读 · 0 评论 -
String类不可变性的好处
String是所有语言中最常用的一个类。我们知道在Java中,String是不可变的、final的。Java在运行时也保存了一个字符串池(String pool),这使得String成为了一个特别的类。String类不可变性的好处只有当字符串是不可变的,字符串池才有可能实现。字符串池的实现可以在运行时节约很多heap空间,因为不同的字符串变量都指向池中的同一个字符串。但如果字符串是可变的,那么Str转载 2017-03-03 09:41:10 · 491 阅读 · 0 评论 -
Java面向对象
一、什么是类、对象、属性、方法? 类是对一类相同事物的抽象描述。对象是一个类的具体实现。属性是对一类相同特征的抽象。方法是对一类相同行为的抽象。二、什么是包?有什么好处? 包是存放java程序的单元,可以将相关的java程序放进同一个包中,便于程序的维护和管理。三、什么是抽象类?有什么好处? 由abstract关键字修饰,可以包含抽象方法的类被称为抽象类。 特性: 1原创 2017-08-14 11:55:58 · 174 阅读 · 0 评论 -
Java博客和文章存档
Java之美[从菜鸟到高手演变]系列之博文阅读导航 http://blog.csdn.net/zhangerqing/article/details/8245560JDK1.8 JVM内存模型 http://blog.csdn.net/bruce128/article/details/79357870Java源码分析:关于 HashMap 1.8 的重大更新 http://blog....原创 2017-01-04 15:14:04 · 1960 阅读 · 0 评论 -
Java语法糖1:可变长度参数以及foreach循环原理
语法糖接下来几篇文章要开启一个Java语法糖系列,所以首先讲讲什么是语法糖。语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了。这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能、或能提升语法的严谨性、或能减少编码出错的机会。Java提供给了用户大量转载 2016-08-31 11:25:22 · 311 阅读 · 0 评论 -
Java中的static关键字解析
static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,希望谅解并欢迎批评指正。一转载 2016-08-29 15:40:07 · 289 阅读 · 0 评论 -
java常用类解析
一、Object:所有类的父类 1.toString():通常重写,因为默认返回"类名@hashCode"。 2.getClass():返回Class对象,对于同一个类而言,此对象只有一个。 3.hashCode():返回调用该对象的散列码值,相等的对象必须有相同的散列码,有相同散列码的对象不一定相等。 4.equals():默认比较对象的地址,等价于"==",假如需要比较原创 2016-08-25 19:19:08 · 365 阅读 · 0 评论 -
java文件操作和流
1.如何获取文件的属性信息? boolean exists():判断文件或目录是否存在 String getName():返回文件或目录的名称 String getParent():返回父路径的路径名字符串 String getAbsolutePath():返回绝对路径的路径名字符串 String getPath():返回抽象路径的路径名字符串 boolean原创 2016-08-25 17:50:29 · 3163 阅读 · 1 评论 -
java序列化和反序列化
一、什么是对象序列化和对象反序列化? 序列化:把java对象转换为字节序列的过程。 反序列化:把字节序列恢复为java对象的过程。 二、使用场景、用途 1.持久化对象,保存对象的字节序列到本地文件中。 2.通过序列化对象在网络中传递数据。 3.通过序列化对象在进程间传递数据。 4.通过序列化对象实现分布式对象。例如RMI要利用对象序列化运行远程主机上的服务,与在原创 2016-08-25 18:45:14 · 522 阅读 · 0 评论 -
java异常
一、所有异常的父类是Throwable,主要有两个子类: 1.Error:代表系统级别的错误,在程序中一般不予处理; 2.Exception:应用级别的错误,处理方案包括抛出和捕获两种。 3.检查异常和非检查异常 1·检查异常(CheckedException):除了Error和RuntimeException及其子类之外,如:ClassNotFoun原创 2016-08-25 18:48:37 · 305 阅读 · 0 评论 -
java网络编程
一、什么是TCP/IP?什么是IP?1.TCP/IP即传输控制协议/网际互联协议。该组协议主要包括: TCP:传输控制协议。 IP:网际互联协议。 UDP:用户数据报协议。 ICMP:互联网控制信息协议。 SMTP:简单邮件传输协议。 SNMP:简单网络管理协议。 FTP:文件传输协议。 ARP:地址解析协议。 TCP/IP通常被看成一个原创 2016-08-25 18:58:21 · 332 阅读 · 0 评论 -
java常量池的理解
一.相关概念1.什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。2.Class文件中的常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节转载 2016-08-25 19:06:22 · 281 阅读 · 0 评论 -
JDBC编程要点
一、JDBC应用程序构建步骤 1.加载驱动 2.与数据库建立连接 3.创建Statement对象 4.发送SQL语句 5.处理结果集(只有查询语句有结果集) 6.释放资源二、PreparedStatement(Statement的子接口) 使用占位符:insert into customers values(null,?,?); 创建:c原创 2016-08-25 19:04:33 · 320 阅读 · 0 评论 -
java泛型要点
1.定义:泛型就是允许定义类、接口时指定类型形参,这个类型形参将在声明变量、创建对象时确定(传入实际的类型参数,也可以称为类型实参)。2.定义泛型接口、泛型类,多个类型形参用逗号隔开 public interface List{ void add(E x); } public class Fruit{ private T a;原创 2016-08-25 17:33:01 · 331 阅读 · 0 评论 -
浅谈Java中的hashcode方法
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode();根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。 为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨一下hashCode方转载 2016-08-29 11:14:28 · 280 阅读 · 0 评论 -
JVM的内存区域划分
过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程: 如上图所示,首先Java源代码文件(.java转载 2016-08-29 11:23:24 · 315 阅读 · 0 评论 -
浅谈Java中的equals和==
在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String(“hello”); 2 String str2 = new String(“hello”); 3 4 System.out.println(str1==str2); 5 System.out.println(str1.equals(str2));为什么第4行和第5行的输出结果不一样?转载 2016-08-29 09:54:32 · 307 阅读 · 0 评论 -
浅谈Java中的深拷贝和浅拷贝
原文链接: http://blog.csdn.net/tounaobun/article/details/8491392 假如说你想复制一个简单变量。很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short,float,double.long)同样适用于该类转载 2016-08-28 16:00:43 · 370 阅读 · 0 评论 -
深入剖析Java中的装箱和拆箱
自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 以下是本文的目录大纲: 一.什么是装箱?什么是拆箱? 二.装箱和拆箱是如何实现的 三.面试中相关的问题 若有不正之处,请谅解和批评指正,不胜感激。一.什么是装箱?什么是拆箱?在前面的文章中提到,Java为转载 2016-08-29 15:02:33 · 286 阅读 · 0 评论 -
学习Java垃圾回收机制
说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机中,有哪些典型的垃圾收集器转载 2016-08-29 15:23:51 · 308 阅读 · 0 评论 -
Java中的final关键字解析
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲: 一.final关键字的基本用法 二.深入理解final关键字 若有不正之处,请多多谅解并欢迎指正。一.final关键字的基本用法 在Java中,final关键字可以用来修饰转载 2016-08-29 16:03:31 · 315 阅读 · 0 评论 -
Java内部类详解
说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指正。一.内部类基础 在Java中,可以将转载 2016-08-29 17:32:19 · 280 阅读 · 0 评论 -
java集合要点
一.概述:java集合类主要由两个接口派生而出:Collection和Map。二.Collection接口:继承Iterable接口。1.List:接口,继承Collection,允许元素重复的集合,能保证元素顺序。 1》ArrayList:实现了List接口的类,线程不安全,底层实现为Object[],具有较高的查询速度,数据增长时默认增长原来的一半; 2原创 2016-08-25 17:28:20 · 334 阅读 · 0 评论