
JAVA基础
没有眉毛的阿斗叶
在互联网行业苟延残喘的一条狗
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何计算两个时间的月份差(包括跨年)
如何计算两个时间的月份差(包括跨年)/** * 获取两个日期相差的月数 */ public static int getMonthDiff(Date d1, Date d2) { Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); ...原创 2019-12-18 17:16:01 · 4200 阅读 · 0 评论 -
如何把String改成Date类型
如何把String改成Date类型 /** * 字符换换成时间类型 */ public Date changeStringToDate(String dateString){ Date date=null; //这里的YYYY-MM-DD是时间格式。可以是其他类型的 SimpleDateFormat simpleDat...原创 2019-12-18 17:12:24 · 341 阅读 · 0 评论 -
设计模式之单例模式
单例模式一句话就是:无论创建多少个对象,永远都是同一个对象。核心逻辑:首先构造方法私有化,然后声明一个本身对象类型的属性,用static修饰。最后写一个方法获得属性。1.饿汉式单例模式:饿汉式单例在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以是线程安全。代码://单例模式:public class SingleTon { //第一步:构造方法私有化 ...原创 2019-09-06 13:58:23 · 136 阅读 · 0 评论 -
如何修改String字符串的编码格式
今天用IDEA写文件读写功能的时候,发现一值报异常,报错内容是找不到文件路劲,后来发现,控制台获得的路劲是乱码的。测试代码:public class FileIOTest { public static void main(String[] args) throws Exception{ //文件路劲 String path="银行代扣信息2019-0...原创 2019-09-02 17:30:41 · 3422 阅读 · 0 评论 -
BigDecimal类型如何比较值相等
BigDecimal是对象,不是基本数据类型,类似于String。所以没有BigDecimal数据类型比较方法这么一说。这里总结一下用BigDecimal类型对象比较中踩 的坑。1.BigDecimal不能直接用"=="作比较,编译都不会通过2.BigDecimal的equals()方法比较不一定对.这里注意:BigDeciaml的equals()方法,参数Object类型.可以注意...原创 2019-08-27 17:30:59 · 25408 阅读 · 1 评论 -
解决:IDE编译报错:Dangling metacharacter
Dangling metacharacter的意思是说:摇摆不定的元字符。翻译成编程意思就是:当前字符计算有其它意思,并不能确定你到底用于什么意思。类似于中文的多义词。如下图所示,当我们要分割字符串中“+”的时候,编译不通过。解决办法:第一种:将“+”写成“\\+”public class Test { public static void main(String[] a...原创 2019-08-22 11:29:34 · 23065 阅读 · 7 评论 -
JAVA种实现Runable接口实现多线程方法
JAVA中实现多线程的方式有4种:1.类继承Thread类,重写run方法;2.类实现Runnable,重写run方法;3.实现Callable接口通过FutureTask包装器来创建Thread线程;4.使用ExecutorService、Callable、Future实现有返回结果的线程;今天讲第二种实现方法:代码如下:import java.util.Date;publi...原创 2019-08-12 19:01:21 · 462 阅读 · 0 评论 -
JAVA中继承Thread类来实现多线程
虽然测试数据量较小,但是我们也发现存在线程共同抢占i资源的现象,这个时候为了保障i数据安全,需要加上synchronized关键字。原创 2019-08-12 18:30:37 · 452 阅读 · 0 评论 -
JAVA中位运算的总结测试样例
首先说明:测试用int数据类型测试,在Java中int有32位,Integer包装类有一个toBinaryString();可以将十进制转换成二进制表达,返回的是String类型的对象。1.定义a,b两个int类型数量,数量赋值为10和-10public class WeiYunSuan { public static void main(String[] args){ ...原创 2019-08-24 17:14:47 · 181 阅读 · 0 评论 -
JAVA获得当前时间并转换时间格式
1.java中util包下有一个Date类型数据,可以获得当前时间import java.util.Date;public class Test { public static void main(String[] args) { //获得当前时间 Date currentTime=new Date(); System.out.print...原创 2019-08-14 18:42:40 · 242 阅读 · 0 评论 -
JAVA四种线程池的使用案例
线程池的创建其实有很多办法,但是jdk为了方便,创建了4中常用的线程池对象:1.newCachedThreadPool();创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。2.newFixedThreadPool创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待3.newScheduledThreadPool创建一个定长...原创 2019-08-19 18:45:25 · 926 阅读 · 0 评论 -
synchronized关键字用法实例
synchronized的三个用法:1.作用于普通方法:当前实例加锁,进入同步代码前要获得当前实例的锁;2.作用于静态方法:当前类加锁,进去同步代码前要获得当前类对象的锁;3.作用于代码块:这需要指定加锁的对象,对所给的指定对象加锁,进入同步代码前要获得指定对象的锁。首先我们先写一个没有synchronized的多线程实例import java.util.Date;public cla...原创 2019-08-13 19:20:00 · 210 阅读 · 0 评论 -
Map遍历的几种方式比较
1.我们首先用For循环,往一个Map里放入1000条数据 Map<String,String> map=new HashMap(); for(int i=0;i<1000;i++){ map.put(i+"",i+100+""); }2.第一种通过map.keySet()获取得键,然后根据键获得值 for(...原创 2019-08-08 19:27:43 · 487 阅读 · 0 评论 -
JAVA集合遍历的几种方法效率比较:
Java中对于集合的遍历,我们常见4中遍历方式:1.普通for循环;2.foreach循环;3.iterator循环:4.while循环“测试方法:用for循环给一个list添加500万个数字。然后用以上4种方法,计算每种使用的时间。 代码如下: List<Integer> list=new ArrayList<Integer>(); for(...原创 2019-07-30 13:53:16 · 1327 阅读 · 0 评论