
java
彬彬他爸
这个作者很懒,什么都没留下…
展开
-
JAVA8之TreeMap
JAVA8 之 TreeMap类继承层次底层数据结构添加元素主要方法时间复杂度TreeMap隐藏黑科技一致性哈希线程安全类继承层次底层数据结构红黑树TreeMap虽然也是map但是已经不存在hash表的概念添加元素重点看一下TreeMap是如何往数据结构中添加元素的: public V put(K key, V value) { Entry<K,V> t = root; if (t == null) { compare(原创 2020-06-15 00:13:36 · 1839 阅读 · 0 评论 -
JAVA8之LinkedHashMap
JAVA8 之 LinkedHashMap类继承层次底层数据结构双链表的玄机在哪LinkedHashMap的隐藏特性LRU最后类继承层次底层数据结构hash表 +(双向链表 | 红黑树)与HashMap的不同点在于,HashMap使用的是单向链表,LinkedHashMap使用的是双向链表双链表的玄机在哪LinkedHashMap继承自HashMap,复用了CRUD方法,但CRUD是模板函数,里面会调用其他功能单一的核心函数,以put方法为例: final V putVal(int h原创 2020-06-14 14:24:45 · 890 阅读 · 0 评论 -
JAVA8之HashMap
JAVA8 之 HashMap类继承层次底层数据结构科普搬运hashcode计算机怎么存数为什么要用补码原码反码补码的关系左移<< 右移>>无符号右移>>>(没有<<<这种操作)HashMap中的索引计算默认初始容量什么时机触发扩容扩容什么时机普通链表膨胀为红黑树什么时机红黑树退化为普通链表主要操作时间复杂度安全性类继承层次底层数据结构hash表 +(普通链表 | 红黑树)科普搬运hashcode散列函数,给每个对象一个编号,计算速度原创 2020-06-07 01:15:07 · 343 阅读 · 0 评论 -
JAVA8之CopyOnWriteArrayList
JAVA8 之 CopyOnWriteArrayList类继承层次底层数据结构默认初始容量最大容量扩容算法主要操作时间复杂度安全性线程安全实现原理问题CopyOnWriteArrayList的弱一致性可疑的静态代码块类继承层次底层数据结构同ArrayList默认初始容量0最大容量等于java数组最大长度扩容算法每次新建一个原数组长度加1的数组然后将原数组拷贝到新数组,最后把新增元素加进新数组 Object[] elements = getArray();原创 2020-05-24 15:46:58 · 553 阅读 · 0 评论 -
JAVA8之LinkedList
@[TOC]JAVA8之LinkedList类继承层次底层数据结构双链表节点结构如下: private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = ele原创 2020-05-23 20:40:23 · 367 阅读 · 0 评论 -
JAVA8之ArrayList
JAVA8 之 ArrayList类继承层次底层数据结构默认初始化容量最大容量扩容算法主要操作时间复杂度类继承层次底层数据结构Object 数组默认初始化容量/** * Default initial capacity. */private static final int DEFAULT_CAPACITY = 10;最大容量/** * The maximum size of array to allocate. * Some VMs reserve some header wo原创 2020-05-23 11:35:36 · 432 阅读 · 0 评论 -
resin出现:illegal utf8 encoding at (190)问题的分析
最近在项目开发中,出现了编码异常,内容如下:- illegal utf8 encoding at (190)com.caucho.jsp.JspParseException: illegal utf8 encoding at (190)at com.caucho.jsp.JspCompilerInstance.compile(JspCompilerInstance.java:434)转载 2015-11-02 23:34:26 · 4522 阅读 · 0 评论 -
JVM classloader
1. 从一个简单小实验开始:(1) Eclipse下建一简单Java project,写一个简单程序,如下:Java代码 package com.javaeye.loader; public class URLClassLoaderTest { public void show() { System.out.println("I am转载 2014-10-11 09:57:28 · 310 阅读 · 0 评论 -
java通过jxl操作excel
jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式转载 2014-09-27 10:32:56 · 422 阅读 · 0 评论 -
JAR内class读取内外部文件方法
我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码:Java代码//源代码1: package edu.hxraid; import java.io.*; public class Reso转载 2014-09-27 00:46:18 · 903 阅读 · 0 评论 -
正则表达式
伯乐在线补充:推荐几个正则表达式编辑器Debuggex :https://www.debuggex.com/PyRegex:http://www.pyregex.com/Regexper:http://www.regexper.com/ 正则表达式是一种查找以及字符串替换操作。正则表达式在文本编辑器中广泛使用,比如正则表达式被用于:检查文本中是否含有指定的特征词转载 2014-08-25 11:01:34 · 489 阅读 · 0 评论 -
关于HBase很好的一篇介绍文章
HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行M转载 2014-06-16 22:49:53 · 636 阅读 · 0 评论 -
hibernate session缓存机制
Hibernate向我们提供的主要的操纵数据库的接口,Session就是其中的一个,它提供了基本的增,删,改,查方法.而且具有一个缓存机制,能够按照某个时间点,按照缓存中的持久化对象属性的变化来更新数据库,着就是Session的缓存清理过程.在Hibernate中对象分为三个状态,临时,持久化,游离.如果我们希望JAVA里的一个对象一直存在,就必须有一个变量一直引用着这个对象.当这个变量没了.对象转载 2014-06-15 23:21:10 · 385 阅读 · 0 评论 -
JAVA动态代理
java动态代理(JDK和cglib)JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特转载 2014-06-14 23:58:54 · 333 阅读 · 0 评论 -
一篇关于java内存泄漏很好的文章
转载请注明出处:http://www.codelast.com/本文是我对这篇文章的翻译:What is a PermGen leak? 为了便于阅读,我将原文附于此处,翻译穿插在其中。此外,为了防止原链接在未来某一天失效后,文中的图片再也看不到的问题,我将原文中的图片也保存到了本站的服务器上,我不知道原作者是否允许这样做,但我翻译本文仅在于传播知识的目的,在此向原作者表示深深的感谢:感谢转载 2014-06-12 19:31:46 · 964 阅读 · 0 评论 -
mac下第一个intellij andriod例子
1)下载SDK,http://developer.android.com/sdk/index.html?hl=sk原创 2014-05-15 18:00:49 · 800 阅读 · 0 评论 -
复数类(能实现加减法)
import java.util.*;import javax.swing.*;class Plus{ private double real=1.0; private double image=1.0; public Plus(double r,double i){ real=r; image=i; } public Plus(){ } public do原创 2008-10-20 21:57:00 · 886 阅读 · 0 评论