java
phenix_alice
ict在读学生
微信:18519338366
展开
-
用java的LinkedHashMap实现LRU
package LRU;import java.util.*;/** * LRU class * * @author wsy * @Date 2020/10/20 18:50 */public class LRU extends LinkedHashMap { private static float LOAD_FACTOR = 0.75f; private static int INIT_CAPACITY = 3; private float maxCapaci原创 2020-10-20 20:07:51 · 511 阅读 · 0 评论 -
JAVA中Arrays.sort()使用Comparable或Comparator接口对数组排序(转)
一、描述自定义的类要按照一定的方式进行排序,比如一个Person类要按照年龄进行从小到大排序,比如一个Student类要按照成绩进行由高到低排序。这里我们采用两种方式,一种是使用Comparable接口:让待排序对象所在的类实现Comparable接口,并重写Comparable接口中的compareTo()方法,缺点是只能按照一...转载 2018-03-14 17:09:23 · 2296 阅读 · 0 评论 -
数组和arrayList<xxx>之间的转换
1.ArrayList< xxx >转化为数组ArrayList<Job> waitingJobsList = fairQueue.getWaitingJobs();Job[] waitJobsArr = waitingJobsList.toArray(new Job[waitingJobsList.size()]);2.数组转化为ArrayL...原创 2018-05-07 15:33:47 · 249 阅读 · 0 评论 -
【java】判断两个引用类型的变量是否指向同一地址
问题:有两个对象obj1和obj2,都是MyObject类的实例。如何比较这两个对象是否指向相同的内存地址?分情况讨论: 1、如果 MyObject类的equals方法和hashcode方法被重写: 如果obj1 == obj2 为真,则两者指向相同的内存地址。2、如果 MyObject类的equals方法和hashcode方法没有被重写: 1. 如果obj1 == obj2 为真...原创 2018-05-07 21:15:45 · 8151 阅读 · 0 评论 -
【java】获取系统时间戳的几种方法
1.new Date().getTime() 返回:13位的毫秒数,记录1970年1月1日到现在一共经历了多长时间 注意:13位数字,单位是毫秒;10位数字,单位是秒原创 2018-07-20 15:53:53 · 14092 阅读 · 1 评论 -
【java】java.util.Date和java.sql.Date的区别和相互转化(转)
共同点:都有getTime方法返回毫秒数,可以直接构建不同点:1、java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分,一般在读写数据库的时候用,PreparedStament的setDate()的参数和ResultSet的getDate()方法的都是java.sql.Date 2、java.util.Date是在除了SQL语句的情况下面使用,一般是日常日...转载 2018-08-28 14:46:32 · 235 阅读 · 0 评论 -
【java】基本类型数组的clone()方法是深克隆还是浅克隆?
结论:一维数组:深克隆;(重新分配空间,并将元素复制过去)二维数组:浅克隆。(只传递引用)用事实suo话:int[] a={3,1,4,2,5};int[] b=a.clone();b[0]=10;System.out.println(b[0]+" "+a[0]);输出为10 3可见改变了b的值,但是没有改变a的元素的值int[][] a={{3,1,4,2,5},{4,...原创 2018-10-22 21:38:35 · 8986 阅读 · 5 评论 -
Tomcat的虚拟路径配置-保存/访问文件(超简单)
什么是Tomcat的虚拟路径:Tomcat的虚拟路径就是通过修改Tomcat的配置文件,实现将 对Tomcat的访问请求 映射到非tomcat的部署目录下。例如:我有一个项目叫做project1,部署目录是tomcat的安装目录下的webapps目录,那么在未配置虚拟路径之前,通过浏览器访问http://localhost:8080/project1/phothos/a.jpg,那么访问的应该...原创 2019-02-27 16:07:00 · 4021 阅读 · 0 评论 -
MAC jdk版本切换(转)
转自:https://www.cnblogs.com/maxinliang/p/4389971.html通过命令’jdk6′, ‘jdk7′,’jdk8′轻松切换到对应的Java版本:首先安装所有的JDk:Mac自带了的JDK6,安装在目录:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/下。JDK7,JDK8则需要自己到Orac...转载 2019-05-13 12:11:15 · 2469 阅读 · 0 评论 -
详细介绍JAVA中日期 yyyy-MM-dd HH:mm:ss
文章目录问题描述灾难现场还原原因分析说明各字段的含义何为”前导0”参考问题描述使用new SimpleDateFormat(“yyyy-MM-DD HH:mm:ss”).parse(“2019-05-27 22:47:31”);构造出来的时间与预期的不符。灾难现场还原 Date startDate = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss")....原创 2019-05-26 23:59:08 · 6384 阅读 · 0 评论 -
【java】为何通常“将ThreadLocal变量设置为static”?
本文参考了:https://www.zhihu.com/question/35250439理由:为了避免重复创建TSO(thread specific object,即与线程相关的变量。)需要注意的是:无法解决共享对象的更新问题。(引用于《阿里巴巴JAVA开发规范》)我的理解是,static定义的类变量本来是可以进行变量共享的,但是因为ThreadLocal根除了对变量的共享,所以stati...原创 2019-08-23 16:32:23 · 7165 阅读 · 0 评论 -
【java】java8线程池ThreadPoolExecutor浅析
文章目录写在前面官网网址线程池ThreadPoolExecutor解决的问题:参数:1.corePoolSize & maximumPoolSize2.预先启动核心线程池的方法3.生存时间4.队列写在前面本文是我自己对ThreadPoolExecutor的简单理解,是看了ThreadPoolExecutor的源码和orcle官网的文档之后的体会,并不是一板一眼的翻译官网,也建议大家结合...原创 2019-09-20 15:46:55 · 851 阅读 · 0 评论 -
java控制台信息输出到文件(System.out)
我们在写java程序的时候, 经常使用System.out .* 来输出相关信息 ;当我们需要将控制台信息输出到本地文件的时候,有很多种方法,比如使用FileOutputStream 类等等;如果觉得用输出流比较费事或者对于初学者来说,可以用PrintStream 类来输出到文件;代码如下,很简单方便:package test;import java.io.FileNotFou...转载 2018-03-16 23:26:48 · 3102 阅读 · 0 评论 -
JAVA数组的toString()方法不能直接输出数组内容?
问题描述:我定义了一个类,类名是Job,当我输出Job.toString()是可以按我重载的toString方法输出的,但是如果输出jobs[]这个数组时,只会输出[Lmodel.Job;@45e228。那么这是为什么呢?怎么输出数组内容呢?解决方法:使用Arrays.toString(jobs)来输出。,分析: java里,所有的类,不管是java库里面的类,或者是你自己创建的类,全部是...转载 2018-03-15 11:09:26 · 27397 阅读 · 9 评论 -
Thinking in Java——注释和嵌入式文档
写在前面: - 一共三种注释:单行、多行、和文档。 - 注释内容写在要注释的元素前面。普通注释(单行和多行) 单行注释是两个左斜线。多行注释是/* */,编译的时候起止斜线之间的所有东西都会被忽略。注释文档 注释内容写在要注释的元素前面。这种注释可以生成文档。提取注释的工具:javadoc。(jdk的一部分,eclipse的“导出”选项中有,而且可以选择导出的注释等级,从priv原创 2017-11-21 15:17:04 · 303 阅读 · 0 评论 -
Java中的形参一定不会被改变吗?
前言:我们知道C语言中,实参是作为局部变量的形式存在的。也就是说,我们在函数内改变了形参的值,实参依旧不变(不受影响)。 但是,在java中也一样吗?——当然不是。1、 参数类型:引用传递和值传递Java中数据类型分为两大类,基本类型和对象类型。相应的,变量也有两种类型:基本类型和引用类型。基本类型的变量保存原始值,即它代表的值就是数值本身;而引用类型的变量保存引用值,”...转载 2017-12-11 21:35:51 · 5501 阅读 · 2 评论 -
java.util.ArrayList与java.util.Arrays$ArrayList区别(转)
转自:http://blog.csdn.net/maywehe/article/details/52553954 写demo的时候,为了避免用list.add方法,特意写了个数组然后转换成list。一开始以为转换成的list就是实现了AbstractList的通用的List, 比如ArrayList或者LinkedList等。 当调用add方法的时候, 奇怪的事情发生了。 String转载 2017-11-24 09:36:18 · 1400 阅读 · 0 评论 -
java 异常java.lang.UnsupportedOperationException(转)
背景: 有时我们在对集合类操作的时候,会报java 异常java.lang.UnsupportedOperationException。这是因为部分集合类型一样但是缺少部分方法或不支持。会报错的特殊情况如下:(1) 常常使用Arrays.asList()后调用add,remove这些method时出现java.lang.UnsupportedOperationException异常。这是由于:转载 2017-11-24 09:27:38 · 3627 阅读 · 0 评论 -
java二维数组的常见初始化(转)
转自:https://www.cnblogs.com/hujunzheng/p/3871899.htmlpublic class Test{ public static void main(String[] args){ //第一种: //int[][] arr1 = new int[][]{{1,2}, {2, 3}, {4, 5}};转载 2017-12-05 14:49:57 · 795 阅读 · 0 评论 -
linux配置java环境变量(转)
一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下。 二. 需要配置的环境变量 PATH环境变量。作用是指定命令搜索路径转载 2017-12-27 10:33:54 · 217 阅读 · 0 评论 -
浅析java的浅拷贝和深拷贝
转自:Map拷贝 关于对象深拷贝 浅拷贝的问题问题描述:map拷贝时发现数据会变化。!!!!!!!!!!高能预警: 你看到的下面的栗子是不正确的,后面有正确的一种办法,如果需要看的话的,请看到底,感谢各同学的提醒,已做更正,一定要看到最后。栗子: public class CopyMap { /** * @author 张仲华转载 2018-01-11 23:03:55 · 308 阅读 · 1 评论 -
java中Class.getResource用法(转)
用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file = new File(“c:/test.txt”);这样用有什么问题,相信大家都知道,就是路径硬编码,对于JAVA精神来说,应用应该一次成型,到处可用,并且从现实应用来讲,最终生成的应用也会部署到Wi转载 2018-01-23 20:08:21 · 2943 阅读 · 0 评论 -
@Override must override a superclass method 问题解决(转)
场景:如果在使用Eclipse开发Java项目时,在使用 @Override 出现以下错误: The method * of type * must override a superclass method主要是因为:你的Compiler是jdk5,(5不支持@Override等形式的批注)只要把它改为6就可以了。方法:将window->preferences->java-com转载 2018-01-24 21:29:33 · 295 阅读 · 0 评论 -
java输出重定向(转)
Java的标准输入,输出分别是通过System.in和System.out来代表.默认情况下他们分别代表键盘和显示器.System类里提供了3个重定向标准输入,输出的方法. static void setErr(PrintStream err):重定向”标准”错误输出流. static void setIn(InputStream in):重定向”标准”输入流 stat转载 2018-02-06 12:49:26 · 4023 阅读 · 0 评论 -
JAVA计算多线程的执行总时间
代码:ExecutorService exec = Executors.newCachedThreadPool();long start = System.nanoTime();System.out.println("kaishi");for (int i = 0; i < 3; i++){ exec.execute(new SlsPredictor(args) );}...原创 2018-03-08 16:42:21 · 10684 阅读 · 1 评论 -
Thinking in Java——final关键字
写在前面:final即不可变,用在变量则该变量成了常量,用在方法则方法不会被重写,用在类则类不会被继承。final数据final static修饰的变量(域)的命名方式为:全部大写,下划线连接单词(如“CONST_VALUE”)。final修饰的数值变量可以为编译期常量,也可能是在运行时才初始化的(如用随机函数生成或者new)。final static表示该数据只有一份,在类装在的时候已被初始原创 2017-11-20 16:34:01 · 782 阅读 · 0 评论