
Java
FresherHe
这个作者很懒,什么都没留下…
展开
-
final关键字
我们通过 javap -v xxx.class ,可看到对应class文件的字节码文件信息。当一个元素被 final 修饰时,实际被 ACC_FINAL 标识。下面查看hotspot源码看下底层实现:http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/91b61f678a19/src/share/vm/utilities/accessFlags.hpp字段被final修饰的,设置不可重写http://hg.openjdk.java.net/jd原创 2021-04-20 13:57:11 · 208 阅读 · 0 评论 -
easyexcel Create workbook failure 问题解决
问题上节 阿里巴巴-easyexcel 下载案例 我们成功实现了 excel 的下载问题,并且在本地测试通过。但我们将项目部署到服务器上报 Create workbook failure。产生原因服务器不支持excel的字体格式解决方案安装 ttf-dejavu具体执行命令:apk --update add curl bash ttf-dejavu && \ rm -rf /var/cache/apk/*也可以打包到镜像文件中参考:https://www.jian原创 2021-03-22 16:50:13 · 8978 阅读 · 1 评论 -
阿里巴巴-easyexcel 下载案例
1. pom.xml 配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x原创 2021-03-12 19:18:08 · 731 阅读 · 0 评论 -
mongo日期处理工具类 - ISODate类型
package com.fresher.migration.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.GregorianCalendar;import java.util.SimpleTimeZone;public class ISODateUtil { public static Date dateToI原创 2020-12-23 22:59:25 · 2381 阅读 · 0 评论 -
源码解析 - HashMap 浅析
本文是源码入门浅析,突破我们对源码的恐惧。希望大家不要看到源码就畏惧,一点点来,我们一样可以一步步成为大神。前面赠送一个简单的面试题给大家HashMap和Hashtable的区别:HashMap 是从1.2开始的;Hashtable是从1.0开始的HashMap 是线程不安全的;Hashtable 是线程安全的HashMap 可以存 null 值 null 键;hashtable ...原创 2019-12-15 11:05:56 · 264 阅读 · 0 评论 -
源码解析 - LinkedList浅析
本文是源码入门浅析,突破我们对源码的恐惧。希望大家不要看到源码就畏惧,一点点来,我们一样可以一步步成为大神。结论:LinkedList 底层是由双向链表实现的。链表不具有索引的概念,所以,遍历效率很低。同时双向链表的查询效率可能高于单向链表。单向链表只能从头查到尾(一个方向);而双向链表可先判断查询元素离头近还是离尾近,从而选择近的一方开始查询,从而提升了查询效率。之所以说可能,因为如果...原创 2019-12-15 10:04:41 · 260 阅读 · 0 评论 -
Spring AOP 错误 之 ClassCastException
今天在spring配置文件中配置切面时,出现了以下错误:java.lang.ClassCastException: com.sun.proxy.$Proxy11 cannot be cast to com.fresher.service.impl.AccountServiceImpl at com.fresher.test.TestAOP.testAop(TestAOP.java:18)...原创 2019-09-19 20:15:50 · 905 阅读 · 0 评论 -
java -jar,报错 no main manifest attribute in xxx.jar
在 cmd 下执行 java -jar xxx.jar 包名.类名 报错:no main manifest attribute, in xxx.jar产生原因:一般情况下,java 打包成 jar 包需要在 MANIFEST.MF 中指定 Main-Class 项,以便运行 java -jar xxx.jar 时找到对应的主类。因为-jar的含义就是后面跟的jar包是有main ...原创 2019-02-16 12:37:08 · 25467 阅读 · 0 评论 -
byte[] 和 int 之间的转换
废话不多说,直接上代码。注释很详细/** * 将int类型的值转为byte[] * @param i 传入的int类型的值 * @return 返回转换后的byte[]的值 * 因为int类型由 4 个字节组成 */ public byte[] int2Bytes(int i) { byte[] b = new byte[4]; b[0] = (byte) i; /...原创 2018-11-13 23:57:15 · 776 阅读 · 0 评论 -
Java 多线程死锁之谜以及等待唤醒机制(生产消费案例)
为了解决多线程的安全问题,我们用到了同步锁机制。但是当存在多个同步代码块嵌套时,可能出现死锁的现象。何为死锁? 如图:线程1拿着 A 锁,线程2拿着 B 锁。这个时候,线程1拿不到B锁,线程2拿不到A锁。就出现了僵持的情况,这就是死锁。...原创 2018-09-14 22:20:55 · 280 阅读 · 0 评论 -
Java 多线程安全问题浅析
我们都知道,当多线程访问共享的资源时,可能会出现线程安全问题。比如:卖电影票、火车票等问题产生了,那么我们如何解决呢?解决问题最根本的方法:当一个线程进入数据操作时,无论是否休眠或阻塞,其他的线程只能等待。举个栗子:比如排队上厕所Java为了解决这个线程安全问题,提供了 同步 的技术 - 同步代码块 和 同步方法。虽然这样程序执行效率降低了,但是为了安全性必须得牺牲效率。语法如下/...原创 2018-09-13 20:58:12 · 276 阅读 · 0 评论 -
Java - 多线程的使用
在学习多线程之前,我们先来明白几个概念。进程:广义上讲,进程指的是正在运行的程序。比如:QQ、迅雷等。确切的说,进程是一个程序进入了内存,并且处于运行的状态的程序,是一个进行时。线程:线程是进程中的执行单元,负责当前进程中程序的执行。一个进程至少有一个线程。当一个进程有多个线程的时候,就是我们所说的多线程程序。简单的说:一个程序至少有一个进程,一个进程可以包含多个线程。程序运行的机制:...原创 2018-09-13 16:39:11 · 173 阅读 · 1 评论 -
Java 知识点备忘(必看)
过往的经历告诉我们,好记性不如烂笔头,永远都不要觉得很简单就放松警惕。以下是自己对 Java 的一些易忘点的记录,如果对你有帮助,请别忘了点赞哦!1B(字节) = 8bit(比特位)byte(1) - short(2) - int(4) - long(8) - float(4) - double(8) - char(2) - boolean(1)关键字及标识符的概念 关键字是 ...原创 2018-09-11 20:02:36 · 886 阅读 · 0 评论