Java EE
文章平均质量分 89
静默加载
优秀的判断力来自于经验,但经验来自于错误的判断。在看着别人走过的路时,思考怎么走自己的路。无私奉献不是天方夜谈,有时候,我们也可以做到。
展开
-
分析java.lang.IncompatibleClassChangeError
【get】java.lang.IncompatibleClassChangeError:在某些类定义发生不兼容的类更改时发生,当前执行方法所依赖的某个类的定义已更改。原创 2022-09-30 16:45:11 · 1857 阅读 · 0 评论 -
Java线程池实现原理和源码分析
本文章是从2019年11月下旬开始打开写的,一直拖到2020年的年尾才开始写,直到2021年年初才写完。时间太快也太慢~!依稀记得2019年10月份的时候某东从创业公司离职打算面试找工作,他问我线程池你会么?然后给我他发了一篇我2017年写的笔记《Java并发编程之线程池必用知识点》,他说就这么点?我当时想线程池也差不多就这么多吧~!2019年11月9号我和某东一起从大望路做815公交去燕郊。当时只是因为我正在学习一部分多线程相关的知识点,刚好公交车上没啥事情我俩就唠了唠。原创 2021-02-19 19:24:49 · 396 阅读 · 1 评论 -
图片不需要完全加载就能获取宽高
转载地址:http://blog.jdk5.com/zh/java-get-image-size-without-loading-the-whole-data/前几天写的 Bitmap图片压缩,大图加载防止OOM 文章中讲到了图片加载到内存之前先获取图片的宽高,然后判断是否加载后会占用内存过大。这种加载前获取图片宽高的是使用 Android自带的Bitmap 提供的功能,底层是 C++ 的实现。...转载 2020-04-27 11:40:50 · 830 阅读 · 0 评论 -
java打包成jar|执行jar包中的main方法
java打包成jarjar -cvf [jar包的名字] [需要打包的文件]执行jar包中的main方法java -jar **.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看:java -classpath *.jar *.**.className [args]“*.*”表示“包名”; “classNam原创 2017-02-14 16:29:58 · 10439 阅读 · 2 评论 -
ClassLoader和双亲委派机制
博文主要讲双亲委派机制和classload的模型、作用和使用,内容是作者学习java反射机制有关知识时记录的笔记。原创 2015-12-12 18:23:56 · 9092 阅读 · 0 评论 -
JVM虚拟机之类加载的过程
我们都知道JVM虚拟机的可执行文件为.class文件,那么什么时候JVM虚拟机会加载自己所需要的类呢?之前自己一直有这样的问题,上网找过好多网友的解释,感觉好像理解但是自己却无法说清楚,今天看了《深入理解JVM虚拟机》一书的讲解感觉自己有些透了,在此记录下来自己的理解~!原创 2017-03-03 20:39:28 · 2276 阅读 · 1 评论 -
JavaSE的自动装箱和自动拆箱
JavaSE的自动装箱和自动拆箱原创 2017-05-30 17:24:32 · 1075 阅读 · 0 评论 -
JAVA回忆录之泛型篇
泛型是什么泛型是JDK1.5版本中加入的,在没有泛型之前,从集合中读取到的每一个对象都必须进行转化。如果有人不小心插入了类型错误的对象,在运行时的转化处理就会出错。有了泛型之后,可以告诉变一起每个集合中接受那些对象类型。编译器自动地为你的插入进行转化,并在编译时告知是否插入了类型错误的对象。原创 2017-08-12 18:17:42 · 898 阅读 · 0 评论 -
JVM内存模型
前一段时间写过一篇关于 JVM虚拟机之类加载的过程 的文章,其中讲述了Java虚拟机对类的处理。最近听了一次部门内部有关JVM的分享,自己也顺便回顾了之前阅读《深入理解JVM虚拟机》一书中所讲述的Java虚拟机对内存的管理,再次将自己理解的JVM内存模型分享给大家。原创 2017-08-26 15:33:17 · 1233 阅读 · 0 评论 -
Java垃圾回收器与内存分配策略
上一篇JVM内存模型讲述了Java虚拟机在运行时所管理的内存划分下的每个数据区域的各自用途,以及创建和销毁时间。当需要排查各种内存泄漏、内存溢出问题时,当来及收集成为系统达到更高并发量的瓶颈时,我们需要对JVM的GC机制和内存分配又更多的了解,这边文章是在上一篇文章的基础之上讲述了Java垃圾回收器与内存分配策略。原创 2017-08-26 15:38:52 · 4635 阅读 · 8 评论 -
迟到一年HashMap解读
HashMap和List这两个类是我们在Java语言编程时使用的频率非常高集合类。“知其然,更要知其所以然”。HashMap认识我已经好多年了,对我在工作中一直也尽心尽力的提供帮助。我从去年开始就想去它家拜访来着,可是经常因为各种各样的原因让其遗忘在路过的风景中......原创 2017-11-06 17:28:15 · 639 阅读 · 2 评论 -
红黑树的操作揭秘手册
前言二叉树知识点回忆以及整理这篇文章中我们说过“二叉树是一个简单的二分查找,但其性能取决于二叉树的层数”。 - 最好的情况是O(logn),存在于完全二叉树情况下,其访问性能近似于折半查找; - 最差的情况是O(n),比如插入的元素所有节点都没有左子树(右子树),这种情况需要将二叉树的全部节点遍历一次。 红黑树本质上是一种二叉查找树,在节点类中添加类一个用来标识颜色的字段,同时具有一...原创 2018-03-18 22:11:52 · 853 阅读 · 0 评论 -
细说InputStream和OutputStream
前言我们进行Android开发的时候经常会遇到各种 io 操作, 比如网络请求,文件操作,数据传输等。Java中的 InputStream 和 OutputStream 都是 io 包中面向字节操作的顶级抽象类,关于java同步 io字节流的操作都是基于这两个的。网络数据传输:SocketInputStream 和 SocketOutputStream文件操作:FileInputStr...原创 2019-06-14 20:22:47 · 10121 阅读 · 0 评论 -
byte&0XFF的基础
前言最近在做代码相关的优化,找到了一个二进制转十六进制的方法:/** * 二进制转16进制 * @param bin * @return 16进制字符串 */public static String asHex(byte[] bin) { //一个byte为8位,一个十六进制为4位,所以长度乘以2 StringBuilder bfHex = new StringBui...原创 2019-06-04 14:11:10 · 1102 阅读 · 0 评论 -
从JNI_OnLoad看so的加载
前言最近在看 Flutter 中 Dart 和 Java 使用 MethodChannel 进行通信相关的代码,有上层一直跟到了底层。最后看到了 MethodChannel 的注册是在 JNI_OnLoad 的方法中。这个方法是在 so 被加载的时候调用的。今天主要从so 的加载看一下 JNI_OnLoad 的调用。Flutter的so加载我们先从 Application 的代码看起:Fl...原创 2019-07-29 10:05:38 · 1243 阅读 · 0 评论 -
JVM中的常量池解析
在jvm规范中,每个类型都有自己的常量池。常量池是某类型所用常量的一个有序集合,包括直接常量(基本类型,String)和对其他类型、字段、方法的符号引用。之所以是符号引用而不是像c语言那样,编译时直接指定其他类型,是因为java是动态绑定的,只有在运行时根据某些规则才能确定具体依赖的类型实例,这正是java实现多态的基础。为了对常量池有更具体的认识,下面引用几个例子:转载 2014-08-09 09:56:16 · 1958 阅读 · 0 评论 -
Java当中的堆与栈详细解析
总结第一句话:Java语言使用内存的时候,栈内存主要保存以下内容:基本数据类型和对象的引用,而堆内存存储对象,栈内存的速度要快于堆内存。总结成一句话就是:引用在栈而对象在堆。翻译 2014-08-08 22:32:39 · 1748 阅读 · 1 评论 -
Java JDK环境变量配置
原文地址:JDK环境变量配置">Java JDK环境变量配置作者:TheOneGIS默认安装在 C:ProgramFilesJavajdk1.7.0 目录下环境变量配置为:JAVA_HOME = C:ProgramFilesJavajdk1.7.0PATH =.;%JAVA_HOME%binCLASSPATH =.;%JAVA_HOME%libdt.jar;%JAVA_HOME%l转载 2015-12-18 18:15:00 · 597 阅读 · 0 评论 -
Servlet共享变量Context,Session,或Request的作用范围
在Servlet中进行变量的共享可硬通过Servlet容器中存在的ServletContext,HttpSession和HttpServletRequest的实例来实现。在三中方式共享变量的方法是使用Context,Session,Request类型的实例调用serAttribute("varName","obj")方法将需要共享的变量存储到对象当中。然后在需要使用该共享变量的地方在通过get原创 2014-04-02 18:47:12 · 4444 阅读 · 0 评论 -
jsf:org.jboss.msc.service.fail || MSC00001: Failed to start service jboss.persistenceunit
22:30:01,478 INFO [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 2) JBAS015003: Found Hello.war in deployment directory. To trigger deployment create a file called Hello.war.do原创 2014-04-30 22:40:02 · 8758 阅读 · 1 评论 -
Servlet读写文件
在Servlet中读取文件的操作和步骤与在普通Java程序中读取文件相同,一般利用File、FileReader和BufferedReader类的组合来完成。例子:先在服务器上运行的当前项目的根目录下创建一个temp.txt的文档,用WriteFile.java写入内容,然后用ReadFile.java读取。写文件:/*用WriteFile类读取文件中的信息*/package j原创 2014-04-03 11:02:21 · 4229 阅读 · 1 评论 -
用Servlet读写文件
用来读取文件的Servlet类和其他普通的原创 2014-04-04 19:33:16 · 1770 阅读 · 0 评论 -
Servlet文件上传||@MultipartConfig标注属性
在Servlet3.0之前,处理上传文件的操作一直是让开发者头疼的问题,因为Servlet本身没有对此提供直接的支持,需要使用第三方框架来实现,而且使用起来也不够简单。Servlet3.0提供了对文件上传的支持,通过@MultipartConfig标注和HttpServletRequest的两个新方法getPart()和getParts(),开发者能够很容易实现文件的上传操作。@M原创 2014-04-04 20:49:15 · 21258 阅读 · 2 评论 -
eclipse中工程出现红叉但代码没错误
今天J2EE的代码,原创 2014-04-05 21:14:58 · 2878 阅读 · 0 评论 -
mysql设计外键关联
学习JPA编程,进行原创 2014-05-17 09:07:42 · 1879 阅读 · 0 评论 -
JPA一对多的双向关联
按照上一节的数据库设计()原创 2014-05-17 09:34:27 · 1192 阅读 · 0 评论 -
JAVA中JButton常用设置
原文地址:JAVA中JButton常用设置作者:PlanesWalkerDemiurge1、 对JButton大小的设置 ——因为JButen是属于小器件类型的,所以一般的setSize不能对其惊醒大小的设置,所以一般我们用 button.setPreferredSize(newDimension(30,30)); //(30,30) 是你要设置按钮的大小2、 对转载 2015-12-18 18:15:22 · 12237 阅读 · 0 评论 -
AtomicInteger学习笔记
AtomicInteger主要提供于在多线程并发中的院原子作。在java中处理并发主要有两种方式: 1,synchronized关键字,这个大家应当都各种面试和笔试中经常遇到。 2,volatile修饰符的使用,相信这个修饰符大家平时在项目中使用的也不是很多。这里重点说一下volatile: Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存重新读取该成员的值,而且,翻译 2016-03-03 16:28:01 · 815 阅读 · 0 评论 -
Android与Java中的ThreadLocal
每次的学习都应该记录下来~!~!文章代码来自:(Android19,java1.7)这几天看Android的Handle、Loop、Message。以前自己总是在用但没有仔细的去看过源码,查看源代码的时候发现ThreadLocal这个类的使用。这时发现好熟悉EvenBus里面好像也用到了这个类,于是在网上翻看了好多关于ThreadLocal的文章。ThreadLocal的作用是提供线程内的局部变量,原创 2016-03-04 16:17:29 · 1367 阅读 · 0 评论 -
Java注解@Retention&@Inherited@Target@IntDef@Documented
学习Java以来经常看到关于注解的使用,以前总是感觉自己用不到不太关注,总是需要用时上网找答案。 今天终于找个时间记录了下来。 从最简单的开始说:@IntDef枚举类型://定义:@IntDef({LARGE, DEFAULT})public @interface DrawableSize {}//使用:@DrawableSize public int size = LARGE;pu原创 2016-02-16 18:58:03 · 2550 阅读 · 0 评论 -
Java中与String有关的且不得不说的事
Java当中与String有关的比较、存储、运算等在这里一起讨论。原创 2014-08-09 10:00:46 · 1038 阅读 · 0 评论 -
MappedByteBuffer高速缓存文件、RandomAccessFile随机访问
public abstract class MappedByteBuffer extends ByteBuffer 直接字节缓冲区,其内容是文件的内存映射区域。 映射的字节缓冲区是通过 FileChannel.map 方法创建的。此类用特定于内存映射文件区域的操作扩展 ByteBuffer 类。 映射的字节缓冲区和它所表示的文件映射关系在该缓冲区本身成为垃圾回收缓冲区之前一直保持有效。原创 2014-08-08 21:12:24 · 2600 阅读 · 0 评论 -
java判断一个字符串是否为需要的格式日期格式
Java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用DateFormat类或者SimpleDateFormat类来判断是否是正确的日期格式。原创 2014-05-02 21:26:08 · 9428 阅读 · 0 评论