Java
文章平均质量分 83
Kugenr
这个作者很懒,什么都没留下…
展开
-
配置JAVA_HOME环境变量
配置JAVA_HOME环境变量1、新建系统环境变量JAVA_HOME变量值为C:\Program Files\Java\jdk-12.0.12、编辑Path添加%JAVA_HOME%\bin3、新建系统环境变量CLASSPATH,变量值为.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar1、新建系统环境变量JAVA...原创 2020-04-23 14:06:52 · 2501 阅读 · 1 评论 -
Java文件读写操作指定编码方式 -- 避免乱码
读文件:BufferedReader从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。 通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 File转载 2015-05-05 18:09:13 · 787 阅读 · 0 评论 -
面试:对封装、继承、多态的理解。
1.封装 封装:就是隐藏对象的属性和实现细节,仅对外提供公共访问方式。 封装的好处:隐藏类的实现细节;让使用者只能通过程序员规定的方法来访问数据;可以方便的加入存取控制语句,限制不合理操作.封装时的权限控制符区别如下: 1 /* 2 * 封装演示 3 */ 4 public class Dog { 5 // 私有化转载 2017-07-15 15:30:17 · 28908 阅读 · 0 评论 -
Java开发中的23种设计模式详解
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式转载 2017-07-22 14:43:35 · 455 阅读 · 0 评论 -
Java中通过递归调用删除文件夹下所有文件
import java.io.File;public class FileTest{ //递归删除指定路径下的所有文件 public static void deleteAll(File file) { if(file.isFile() || file.list().length == 0) { file.delete(); } else { File[] files = file.listFiles(); for(File f : files) {原创 2015-04-05 15:58:47 · 552 阅读 · 0 评论 -
Java数据类型
一、数据类型Java中主要有8中基本数据类型,分别是byte,short,int,long,char,boolean,float,double,具体如下:1、boolean:数据值只有true或false,适用于逻辑计算。2、char:char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符,每个字符占2个字节,Java字符采用Uni转载 2015-04-19 13:57:37 · 570 阅读 · 0 评论 -
LinkedHashMap
HashMap:put -> addEntry(新建一个Entry)getgetEntryLinkedHashMap:put -> addEntry(重写)新建一个Entry,然后将其加入header前e.addBefore(header)get -> 调用HashMap的getEntry - recordAccess(重写)HashMap的get与转载 2015-04-20 22:25:12 · 532 阅读 · 0 评论 -
关于 Java 数组的 12 个最佳方法
下面是stackoverflow中关于数组方法的相关问题中,获得最多票数的12个数组操作方法。 1. 声明一个数组 Java代码 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"转载 2015-04-25 17:37:52 · 413 阅读 · 0 评论 -
有序数组的二分法查找关键字
使用二分查找算法实现有序数组的关键值查找/*有序数组二分查找算法函数sq_Dichotomy_Search参数描述: int array[] :被查找数组 int n :被查找数组元素个数 int key :被查找的关键值 返回值: 如果没有找到:转载 2015-04-25 18:22:20 · 1541 阅读 · 0 评论 -
JavaBean规范
Sun 推荐的命名规范1 ,类名要首字母大写,后面的单词首字母大写2 ,方法名的第一个单词小写,后面的单词首字母大写3 ,变量名的第一个单词小写,后面的单词首字母大写为了使 JavaBean 的属性名和存取方法都符合规范, Sun 在 JSR 文档中规定了属性名和存取方法名的映射规则: ① 属性名对应的存取方法为 get/set 加上首字母大写的属性名,如属性 us转载 2015-04-30 20:47:42 · 834 阅读 · 0 评论 -
Java序列化与反序列化
Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 2.为什么需要序列化与反序列化 我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括转载 2017-10-20 14:35:41 · 188 阅读 · 0 评论 -
JDK、Spring、Quartz等几种不同定时器的用法,以及cronExpression表达式定义
下面介绍几种常用的定时器及其实现方法:第一种:Timer和TimerTaskTimer实际上是个线程,它可以定时调度一个TimerTask对象。一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内。 Timer及其方法:[java] view plain copy转载 2017-10-31 11:28:29 · 343 阅读 · 0 评论 -
Java定时器的几种用法
package com.lid; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class Test { public static v转载 2017-10-31 13:14:08 · 286 阅读 · 0 评论 -
Json字符串与Java对象互转(使用json-lib类库)
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式,JSON可以有两种格式,一种是对象格式的,另一种是数组对象,{"name":"JSON","address":"北京市西城区","age":25}//JSON转载 2017-11-01 13:25:06 · 406 阅读 · 0 评论 -
int.class和Integer.class
int.class = Integer.TYPE int.class != Integer.class同上 不要把int.class 与Integer.class 等同起来会出现错误!!!测试了下:说明(1)int.Class=Integer.TYPE,但是和integer.class不是一回事情原创 2015-04-30 15:09:58 · 1599 阅读 · 0 评论 -
Java关键字final、static使用总结
一、final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。fin转载 2015-05-09 15:04:00 · 531 阅读 · 0 评论 -
JVM如何理解Java泛型类
Java代码 //泛型代码 public class Pair{ private T first=null; private T second=null; public Pair(T fir,T sec){ this.first=fir; this.sec原创 2015-04-19 14:00:22 · 522 阅读 · 0 评论 -
深入Java集合学习系列:LinkedHashMap的实现原理
1. LinkedHashMap概述:LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可以是插入顺转载 2015-04-20 22:27:14 · 421 阅读 · 0 评论 -
深入Java集合学习系列:LinkedHashSet的实现原理
1. LinkedHashSet概述: LinkedHashSet是具有可预知迭代顺序的Set接口的哈希表和链接列表实现。此实现与HashSet的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可为插入顺序或是访问顺序。 注意,此实现不是同步的。如果多个线程同时访问链接的哈希Set,而其中至少一个线程修改了该Set,则它必转载 2015-04-20 22:30:28 · 467 阅读 · 0 评论 -
深入Java集合学习系列:HashSet的实现原理
1. HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 2. HashSet的实现: 对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet转载 2015-04-20 22:28:11 · 460 阅读 · 0 评论 -
宽带和下载速度是怎么换算的,它们之间的区别
最近运营商都在做免费的宽带升级,免费升级到10M,2M升级4M等等。很多人疑惑我们平时的下载速度也就几百K或者有时候能上1M,但是就算升级到10M的宽带,也从来没有出现过下载速度达到10M的情况,这是为什么?这里就分享下经验,讲解下宽带和下载速度的区别。首先,运营商所说的几M的宽带和我们理解的下载速度是2个不同的概念。我们所说的比如下载速度1M即1024K,这里的单位是字节(Byte),也原创 2015-04-25 17:26:59 · 9738 阅读 · 0 评论 -
两个整数交换方法
在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的,各公司笔试也经常遇到。方法1:标准法通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b; a=10;b=15; int t; t=a;a=b;b=t; 这种算法易于理解,特别适合帮助初学者了解计算转载 2015-04-25 18:20:46 · 824 阅读 · 0 评论 -
浮点数在计算机中存储方式(转)
作者: jillzhang 联系方式:jillzhang@126.com 本文为原创,转载请保留出处以及作者, 谢谢 C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit, double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?转载 2015-04-25 16:57:08 · 564 阅读 · 0 评论 -
NullPointerException是空指针异常
顾名思义,NullPointerException是空指针异常。但是在Java中没有指针,怎么会有空指针异常呢?在C++中,声明的指针需要指向一个实例(通过new方法构造),这个指针可以理解为地址。在Java中,虽然没有指针,但是有引用(通常称为对象引用,一般直接说对象),引用也是要指向一个实例对象(通过new方法构造)的,从这种意义上说,Java中的引用与C++中的指针没有本质的区别,不原创 2015-04-06 10:53:35 · 664 阅读 · 0 评论