java
chao430
java 之路
展开
-
Collection之list源码分析
Java中常用到ArrayList和LinkedList,面试中也常问到两者的区别,各自的使用场景。要想清楚的明白他们的区别,那还是得从源码入手。List接口List接口中的方法有很多,但最重要的无非是增删查改,我们从ArrayList与LinkedList的实现上来讨论他们的增删查改性能问题。先列出这几个重要的方法:public interface List<E> ex...原创 2019-06-28 12:41:45 · 118 阅读 · 0 评论 -
面试相关总结
只要方法得当,准备面试第一不难,第二用的时间也不会太多。别让人感觉你只会山寨别人的代码框架是重点,但别让人感觉你只会山寨别人的代码!在面试前,我会阅读简历以查看候选人在框架方面的项目经验,在候选人的项目介绍的环节,我也会着重关注候选人最近的框架经验,目前比较热门的是SSM。不过,一般工作在5年内的候选人,大多仅仅是能“山寨”别人的代码,也就是说能在现有框架的基础上,照着别人写的流...原创 2019-06-25 09:59:22 · 181 阅读 · 0 评论 -
分布式锁之三:基于ZooKeeper的分布式锁
实现分布式锁目前有三种流行方案,分别为基于数据库、Redis、Zookeeper的方案,其中前两种方案网络上有很多资料可以参考,本文不做展开。我们来看下使用Zookeeper如何实现分布式锁。什么是Zookeeper?Zookeeper(业界简称zk)是一种提供配置管理、分布式协同以及命名的中心化服务,这些提供的功能都是分布式系统中非常底层且必不可少的基本功能,但是如果自己实现这些功能而且...转载 2019-05-23 01:07:24 · 105 阅读 · 0 评论 -
Java源码分析:HashMap 1.8 相对于1.7 到底更新了什么?
前言HashMap 在 Java 和 Android 开发中非常常见 而HashMap 1.8 相对于 HashMap 1.7 更新多 今天,我将通过源码分析HashMap 1.8 ,从而讲解HashMap 1.8 相对于 HashMap 1.7 的更新内容,希望你们会喜欢。本文基于版本 JDK 1.8,即 Java 8 关于版本 JDK 1.7,即 Java 7,具体请看文章Jav...转载 2019-05-22 11:07:13 · 144 阅读 · 0 评论 -
上传文件 不同文件对应的文件头设置
{ ".doc", "application/msword" }, {".docx",application/vnd.openxmlformatsofficedocument.wordprocessingml.document" },{ ".xls", "application/vnd.ms-excel" },{ ".xlsx", "applicatio...原创 2019-04-26 17:48:24 · 1103 阅读 · 0 评论 -
form表单 get请求参数传递问题
使用GET方式提交的表单遇到的问题经常使用表单,一直使用的都是POST方式,POST将数据封装到请求体中,相对于GET安全一点;而POST处理中文编码问题也比GET简单(GET需要将URL编码,后台接受到后还需要解码)。今天我想要使用GET方式提交表单,却遇到了参数丢失的问题(姑且这样称呼这个问题吧),并不是GET方式表单提交的数据就会丢失,而是自己对表单理解的还不到位,使用错误。一个GET方式提...转载 2018-05-12 16:28:40 · 14866 阅读 · 0 评论 -
单例模式 整理
近期在研究单例模式,参考了网上许多前辈的心得,做一些简单整理第一种 : 饿汉模式class Singleton2{ private final static Singleton2 INSTANCE = new Singleton2(); private Singleton2(){} public static Singleton2 getInstance(){ return ...原创 2018-03-28 10:14:08 · 151 阅读 · 0 评论 -
JVM内存结构
Java虚拟机(Java Virtual Machine=JVM)的内存空间分为五个部分,分别是:1. 程序计数器2.虚拟机栈3.本地方法栈4.方法区5.堆1.程序计数器1.1. 什么是程序计数器?程序计数器是一块较小的内存空间,可以把它看作当前线程正在执行的字节码的行号指示器。也就是说,程序计数器里面记录的是当前线程正在执行的那一条字节码指令的地址。 是唯一一个不会出现OutOfMemoryEr...转载 2018-04-01 18:29:26 · 151 阅读 · 0 评论 -
location.href 几种用法
self.location.href;//当前页面打开URL页面window.location.href;//当前页面打开URL页面this.location.href;//当前页面打开URL页面location.href;// 当前页面打开URL页面parent.location.href;//在父页面打开新页面top.location.href;//在顶层页面打开新页面 上图,效果如下如下四个...原创 2018-03-18 14:31:49 · 26868 阅读 · 0 评论 -
@responseBody注解的使用
@responseBody注解的使用1、 @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML 数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。2、 @Re...转载 2018-03-16 14:27:08 · 311 阅读 · 0 评论 -
Class.forName()和xxx.class
Class.forName()是根据类名称加载类 比如有一个类名为com.abc.AAA 此处Class.forName(‘com.abc.AAA ’).newInstance()就会创建一个AAA对象.class一般用来获取类的通用属性 比如AAA.class.getDeclareMethod()是获取AAA类的所有声明的方法 主要用于反射机制.获取私有构造方法下面为.class获取单列模式中私...原创 2018-03-15 15:18:21 · 1189 阅读 · 0 评论 -
Java的wait(), notify()和notifyAll()使用小结
wait(),notify()和notifyAll()都是java.lang.Object的方法:wait(): Causes the current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object.notify(): Wakes up...原创 2018-02-28 17:45:28 · 209 阅读 · 0 评论 -
sql server——分组查询(方法和思想)
转:https://www.cnblogs.com/green-jcx/p/5907976.html思想先排序在汇总sql server里分组查询通常用于配合聚合函数,达到分类汇总统计的信息。而其分类汇总的本质实际上就是先将信息排序,排序后相同类别的信息会聚在一起,然后通过需求进行统计计算。 使用GROUP BY进行分组查询 实例演示 --查询男女生的人数 在没有学习分组查询之前,我们可以安...转载 2018-03-07 14:36:02 · 1239 阅读 · 0 评论