Java
文章平均质量分 75
寒沧
渣渣学生
展开
-
Java中hashCode的作用
hashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。 hashCode 的常规协定是: 在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是对象上 equals 比较中所用的信息没有被修改。从某一应用程序的一次执行转载 2014-07-19 11:34:44 · 483 阅读 · 0 评论 -
Java - Java 8系列之重新认识HashMap
转载自公众号: 后端开发那点事儿摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据...原创 2018-03-16 15:48:37 · 552 阅读 · 0 评论 -
Java - 快速失败和安全失败
转载自: https://www.cnblogs.com/ygj0930/p/6543350.html快速失败(fail—fast)在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCou...原创 2018-03-16 16:04:31 · 542 阅读 · 0 评论 -
外网连接HBase问题排查
TroubleShooting连接HBase测试代码: https://blog.liyang.io/360.htmlhttp://blog.csdn.net/yufei_java/article/details/78585091在使用上述代码更改对应配置内容:// 声明静态配置static Configuration conf = null;static Connect...原创 2018-03-16 18:30:50 · 6977 阅读 · 2 评论 -
Java - transient关键字
Java中的对象序列化在讨论transient之前,有必要先搞清楚Java中序列化的含义;Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对象可以被写到数据库或文件中,也可用于网络传输,一般当我们使用缓存cache(内存空间不够有可能会本地存储到硬盘)或远程调用rpc(网络传输)的时候,经常需要让我们的实体类实现Serial...原创 2018-03-17 14:54:43 · 800 阅读 · 0 评论 -
Java - TreeSet简介
一、概述TreeSet(树集)是一个有序集合,可以按照任何顺序将元素插入该集合,当对该集合进行迭代时,各个值将自动以排序后的顺序出现。TreeSet中的元素按照升序排列,缺省是按照自然顺序进行排序,意味着TreeSet中的元素要实现Comparable接口,或者有一个自定义的比较器Comparator。TreeSet底层使用的是TreeMap,TreeMap的底层实现是红黑树(详细见htt...原创 2018-03-04 14:21:13 · 1615 阅读 · 0 评论 -
Java - 进程与线程
进程与线程概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程。当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程。一、定义1.1 进程进程:进程是指处于运行过程中的程序,并且具有一定的独立功能。进程是系统进行资源分配和调度的一个单位。当程序进入内存运行时,即为进程。其特点为:独立性:进程是系统中独...原创 2018-03-04 20:41:20 · 444 阅读 · 0 评论 -
Java - String、StringBuffer与StringBuilder
String、StringBuffer与StringBuilder执行速度:StringBuilder > StringBuffer > String当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringB...原创 2018-03-05 23:11:24 · 242 阅读 · 0 评论 -
Java - 深入理解 Java 枚举类型
深入理解 Java 枚举类型转载自微信公众号: 后端开发那点事儿 枚举的使用Java 中的枚举是一个比较特殊的类型,既具有 class 的特性,又具有自己特殊的特性。定义枚举类型使用 enum 关键字,枚举值一般使用大写字母,如下所示。使用枚举类型的 name() 方法可以获取字符串的名称,使用 ordinal() 方法可以获取枚举值的下标,这里不做赘述。enum Se...原创 2018-03-06 15:49:40 · 502 阅读 · 0 评论 -
Java - 抽象容器类
Java - 抽象容器类抽象容器类与集合和具体容器类之间的对应关系如图所示: 其中虚线表示接口,包含Collection,List,Set,Queue,Deque和Map。同时包含六个抽象容器类。AbstractCollection: 实现了Collection接口,被抽象类AbstractList、AbstractSet、AbstractQueue继承,ArrayDeque也...原创 2018-04-07 22:07:48 · 534 阅读 · 0 评论 -
Java - 原子变量和CAS
Java - 原子变量和CAS首先引入一个Counter类/** 1. Created by Joe on 2018/4/10. */public class Counter { private int count; public synchronized void incr() { count++; } public sy...原创 2018-04-16 21:00:02 · 313 阅读 · 0 评论 -
Java - 事件处理机制
Java - 事件处理机制一、观察者模式了解事件和监听,需要先了解观察者模式。接下来介绍一个观察者模式的场景:老师布置作业,通知学生;学生观察到老师布置了作业,开始做作业在这个场景中,学生就是观察者,老师是被观察者。但是: 教师作为被观察者,实际上把握主动。接下来实现上面的场景:1.1 观察者场景中的观察者是:学生packag...原创 2018-04-11 19:35:38 · 1742 阅读 · 0 评论 -
Java - 可重入锁ReentrantLock简单用法
Java - 可重入锁ReentrantLock简单用法Java 中显示锁的借口和类主要位于java.util.concurrent.locks下,其主要的接口和类有:锁接口Lock,其主要实现为ReentrantLock读写锁接口ReadWriteLock,其主要实现为ReentrantReadWriteLock一、接口Lock其中显示锁Lock的定义为:p...原创 2018-04-24 19:16:45 · 6731 阅读 · 0 评论 -
Java - 可重入锁ReentrantLock实现原理
Java - 可重入锁ReentrantLock实现原理在实现层面除了依赖于CAS(compareAndSet)方法之外,同时依赖于类LockSupport中的一些方法。一、LockSupport类 LockSupport 位于包 java.util.concurrent.locks ,其基本方法有public static void park()public sta...原创 2018-04-24 21:19:06 · 1389 阅读 · 0 评论 -
Java - Java并发脑图
转载自: https://www.jianshu.com/p/d8a7cbf124c5图片连接: https://upload-images.jianshu.io/upload_images/2615789-2465df1a22cfde14.png Java并发脑图高清版转载 2018-04-25 18:45:30 · 1359 阅读 · 0 评论 -
Java - Java异常总结脑图
ExceptionException则可使从任何标准Java库的类方法,自己的方法以及运行时任何异常中抛出来的基类型。异常可分为执行异常(RuntimeException)和检查异常(Checked Exceptions)两种RuntimeExceptionRuntimeException在默认情况下会得到自动处理。所以通常用不着捕获RuntimeException,但在自...原创 2018-05-06 17:20:41 · 886 阅读 · 0 评论 -
Java - 剖析ArrayList
Java - 剖析ArrayList一、基本用法ArrayList 是一个泛型容器,在新建 ArrayList 的时候需要实例化泛型参数,如下:ArrayList<Integer> intList = new ArrayList<Integer>();ArrayList<String> strList = new ArrayList&l...原创 2018-05-07 20:56:20 · 546 阅读 · 0 评论 -
Java 校招面试大全
面试准备HBaseHBase 基础结构1. HMasterHMaster 是 HBase 主/从集群架构的的中央节点;HMaster 将 Region 分配给 RegionServer,协调 RegionServer 的负载并维护集群状态;维护表和 Region 的元数据,不参与数据的输入/输出过程2. RegionServer维护 HMaster 分配的 Region,...原创 2018-12-07 21:59:28 · 3368 阅读 · 1 评论 -
Java - 注解使用示例(解析注解格式化类生成字符串)
目的使用注解标注对象属性,用于格式化输出字符串注解我们主要创建以下两个注解:@Label:用于定制输出字段的名称@Format :用于格式化时间类型的字段@Labelpackage test2;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;impo...原创 2018-02-23 19:08:08 · 5259 阅读 · 0 评论 -
Java - 注解使用示例(解析注解生成创建SQL表语句)
当你觉得你用反射的情况非常少的时候,通常就是因为注解接触的少。目的使用注解来自动生成一个建数据库表的SQL命令。注解我们会创建如下的四个注解,用于进行数据库表,以及字段本身表述的注解。@DBTable 代表数据库表,注解元素name表示表名;@Constraints 代表对数据表每一列的条件补充,有primaryKey是不是主键,默认false,allowNu...原创 2018-02-22 18:03:44 · 1935 阅读 · 5 评论 -
Java - 注解
1、注解在Java中,注解就是给程序添加一段信息,使用@开头,这些信息用于修饰他后面紧挨着的其他代码元素,比如类、接口、字段、方法、方法中的参数构造方法等。注解可以被编译器、程序运行时和其他工具使用,用于增强和修改程序行为等。注解作用:每当你创建描述符性质的类或者接口时,一旦其中包含重复性的工作,就可以考虑使用注解来简化与自动化该过程。2、元注解Java提供了四种元注解,专门负...原创 2018-02-19 22:59:57 · 444 阅读 · 0 评论 -
Java生成二维码
内容大部分属于转载并且个人进行一些内容搜集编码:QRCodeEncoderHandler.javapackage QrTest;import java.awt.Color;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.File;import javax转载 2015-02-09 12:31:58 · 695 阅读 · 0 评论 -
MVN注意的小点
MVN国内源的配置http://blog.csdn.net/chwshuang/article/details/52198932 因为直接给一篇别人的博客,亲测可用。 今日时间2016.12.1MVN create命令在很多视频教程当中依旧还在使用create来创建java项目。 但是现在的mvn版本已经更新的很快了,create命令已经过时了。 mvn archetype:create i原创 2016-12-01 18:15:19 · 317 阅读 · 0 评论 -
java项目转web项目的时候没有Dynamic Web Module
1.打开。setting里的org.eclipst.wst.commom.project.facets.core.xml文件 2.改成如下内容:<?xml version="1.0" encoding="UTF-8"?> <fixed facet="wst.jsdt.web"/> <installed facet="wst.jsdt.web" version="1.0"/> <insta原创 2016-12-10 10:54:29 · 6900 阅读 · 0 评论 -
利用Eclipse创建maven项目并生成META-INF和WEB-INF目录
1、使用eclipse插件创建一个web project首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 war的形式 由于packing是war包,那么下面也就多出了webapp的目录 2、由于我们的项目要使用eclipse发布到tomcat下面,这里我们需要先把项目转成dynam原创 2016-12-10 14:39:59 · 18032 阅读 · 7 评论 -
根据类名寻找Maven依赖
首先,你得知道这个类是哪个jar包里的,这样才能导入相应的jar包1http://findjar.com/ 可以帮你找jar包2mvnrepository.com 可以帮你确定导入的jar包的配置原创 2017-07-12 10:38:13 · 5728 阅读 · 0 评论 -
Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
方案一:用Eclipse自带的Export功能步骤1:准备主清单文件 “MANIFEST.MF”,由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:Manifest-Version: 1.0Class-Path: lib/commons-codec.jar lib/commons-http转载 2015-01-15 20:10:52 · 552 阅读 · 0 评论 -
大型网站架构技能图谱(Java版)
转载自: http://blog.csdn.net/u011116672/article/details/52442953 github地址: https://github.com/rhwayfun/java-skill-graph转载 2018-02-26 19:19:53 · 440 阅读 · 0 评论 -
Java - 9个处理异常的最佳准则
本文转载自: https://www.cnblogs.com/kcher90/p/7468512.html 原文翻译自: https://stackify.com/best-practices-exceptions-java/在java中处理异常并不是一件简单的事,不止初学者觉得它难以理解甚至连有经验的开发者也会花费几个小时来讨论某个异常应该抛出还是处理掉。这就是为何大多数开发团队都...原创 2018-02-13 14:14:10 · 424 阅读 · 0 评论 -
Java - 使用 Java8 Optional 的正确姿势
转载自: https://unmi.cc/proper-ways-of-using-java8-optional/我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了:Optional&amp;amp;lt;User&amp;amp;gt; user ...原创 2018-03-06 21:56:51 · 519 阅读 · 2 评论 -
Java - 数组拷贝的几种方式
转载自: 公众号 我是攻城狮目前在Java中数据拷贝提供了如下方式:cloneSystem.arraycopyArrays.copyOfArrays.copyOfRange下面分别介绍他们的用法1、clone 方法clone方法是从Object类继承过来的,基本数据类型(String ,boolean,char,byte,short,float ,double...原创 2018-02-13 21:07:43 · 109547 阅读 · 9 评论 -
Java - Java知识体系脑图
来源: https://zhuanlan.zhihu.com/p/34272967?utm_source=com.miui.notes&utm_medium=social点击图片可以放大查看完整清晰版推荐阅读:http://blog.csdn.net/qq_25827845/article/details/52894625...原创 2018-03-07 13:23:16 · 2985 阅读 · 0 评论 -
Hadoop2.7.5-HBase1.2.6伪分布式安装
Hadoop2.7.5-HBase1.2.6伪分布式安装本文已经转换成为pdf格式,下载地址为:https://download.csdn.net/download/u011669700/10273667本次软件安装包都默认装在 /root/bigdata目录下:本机配置的软件版本分别为 1. Java - java1.8.0_161 2. Hadoop - hadoop2.7...原创 2018-03-07 14:33:11 · 2188 阅读 · 0 评论 -
Java - 内存可见性
什么是可见性?可见性: 一个线程对共享变量值的修改,能够被其他线程看到。那我们就认为这个共享变量在这些线程之间是可见的。什么是共享变量?共享变量: 如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是几个线程的共享变量。那什么是工作内存,理解工作内存首先要引入下面这个概念,Java内存模型。Java内存模型(Java Memory Model,JMM)Ja...原创 2018-02-17 18:35:07 · 283 阅读 · 0 评论 -
Java - 指令重排序
为什么会发生指令重排序(instruction reordering)编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。 也就是说对于下面的语句:int a = 10;int b = 20;在计算机执行上面两句话的时候,有可能第二条语句会先于第一条语句执行。 然而并不是所有的指令都能重排,重排需要基于数据依赖性。数据依赖性如果两个操作访问...原创 2018-02-17 19:51:23 · 626 阅读 · 0 评论 -
Java - Java内存模型基础
并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通...原创 2018-02-17 21:37:20 · 139 阅读 · 0 评论 -
Java - 什么是IOC,JAVA纯代码反射技术模拟IOC
本文转载自: https://user.qzone.qq.com/644556636/blog/1466713056什么是IOC技术,对于很多初学者而言,或许认为IOC多么高大上。其实IOC不过如此,知道其实现原理,IOC无非砖头的数量。慢慢搬呗。控制反转控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合...原创 2018-02-19 13:00:48 · 2212 阅读 · 1 评论