--------java细节
文章平均质量分 70
lkj41110
这个人很懒,没有写下什么
展开
-
java web的文件上传
今天学习了javaWeb的文件下载功能。首先要导入两个相关的jar包,一个是Apache的commons-fileupload包,一个Apache的commons-io包,在网上或者在Apache都能找到,并导到工程文件内。 jsp端通过form表单进行对服务器的提交: form action="${pageContext.request.contextPath原创 2016-03-15 22:22:35 · 435 阅读 · 0 评论 -
redis的安装并在java中初步使用(spring配置redis)
redis介绍官方介绍: Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sor原创 2017-01-05 19:40:42 · 3471 阅读 · 0 评论 -
Comparable和Comparator的区别
原文地址:http://www.cnblogs.com/szlbm/p/5504634.html初次碰到这个问题是之前有一次电话面试,问了一个小时的问题,其中有一个问题就问到Comparable和Comparator的区别,当时没答出 来。之后是公司入职时候做的一套Java编程题,里面用JUnit跑用例的时候也用到了Comparator接口,再加上JDK的大量的类包括常见的 String、Byte、转载 2017-02-16 16:10:47 · 274 阅读 · 0 评论 -
Java源码之Arrays内部排序实现(timsort的实现)
在Arrays工作类里有sort()方法可以用来排序,jdk对所有基本类型设置设置了不同入参sort方法进行支持。 从源码上看,基本类型的排序都是使用了了DualPivotQuicksort的排序方法(我看的是jdk8,)。DualPivotQuicksort是快排的一种优化,具体在这里不展开了。 当参数类型为对象数组时,在原来的版本使用的归并排序(以后将会删除 ),现在使用的timSor...原创 2017-03-05 16:14:22 · 7529 阅读 · 3 评论 -
深入剖析Java中的装箱和拆箱
深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 以下是本文的目录大纲: 一.什么是装箱?什么是拆箱? 二.装箱和拆箱是如何实现的 三.面试中相关的问题 若有不正之处,请谅解和批评指正,不胜感激转载 2017-03-06 23:17:20 · 292 阅读 · 0 评论 -
hashMap的内部实现原理(JDK1.8 hashmap改动)
1.hashmap结构学过java的或者其他语言的我们都应该对数组和链表不会感到陌生。当然很清楚他们的优点和缺点。 队列:查询方便,插入,删除效率低,因为插入删除一个元素后,后面的元素都要重新下序号。 链表:插入,删除方便,但是查询效率低,链表查询要一个一次一次找下去所以hashmap结合了两者的优点。 可以从上面的图(网上找的),可以看出hashMap是由数组和链表组成(我看的源码为jdk1原创 2016-08-13 22:21:43 · 811 阅读 · 0 评论 -
Integer和int基本类型的比较
先看几行代码 Integer a1 = 100; Integer a2 = 100; System.out.println("a1==a2:" + (a1 == a2)); Integer b1 = 200; Integer b2 = 200; System.out.println("b1==b2:" + (原创 2017-09-27 02:21:42 · 3171 阅读 · 1 评论 -
堵塞队列之ArrayBlockingQueue和LinkedBlockingQueue解析
在线程池创建的时候,需要传一个堵塞队列来维护需要执行的线程任务,其中最常用的是ArrayBlockingQueue和LinkedBlockingQueue。他们都继承了BlockingQueue接口。 ArrayBlockingQueue一个有边界的堵塞队列,内部使用了一个队列来保存元素,有takeIndex和putIndex来维护队列头和尾部的游标。 /** The ...原创 2018-02-10 12:58:59 · 3211 阅读 · 3 评论 -
java 正则表达式学习笔记
概述正则表达式能够解决各种字符串处理的问题:匹配,选择,编辑以及验证。正则表达式是一种强大灵活的文本处理工具,在很多语言中都支持正则表达式。本文主要介绍的是java的正则表达式的使用。基础在正则表达式中我们要表示一个数字,可以用\d表示。但是java对\的处理和其他语言不同。其他语言中\表示 要在正则表达式中插入一个字面上的反斜线,没有特殊含义,而在java中,\表示 我要在正...原创 2018-03-17 11:47:13 · 275 阅读 · 0 评论 -
springMVC之学习笔记
最近在研究springMVC的源码,推荐一下几个一些学习博客和书籍推荐书籍《spring 揭秘》:真的写的非常好,从spring IOC、spring AOP、spring orm、spring 事务的支持等等板块对spring做了一个详细的解读。每个模块从架构的由来,组成,使用方法,优化等等方面深入浅出。(强烈推荐)推荐的博客:SpringMVC源码剖析(一)- 从抽象和接口说起...原创 2018-03-31 18:49:17 · 291 阅读 · 0 评论 -
maven学习笔记
1.什么是Mavenmaven是跨平台的项目管理工具。主要服务于基于java平台(包括j2ee和j2se)的项目构建,依赖管理和项目信息管理。可以帮助开发者管理jar包,一步构建项目,从清理,编译,测试,报告直接到打包,部署。2.Maven的比较和Eclipse的比较:maven和Ant的比较:Ant是软件构建工具,Maven的定位是软件项目原创 2016-12-18 20:33:24 · 258 阅读 · 0 评论 -
自定义注解初步学习
相信大家或多或少接触或者使用过java的注解比如java.lang包中的注解: @Override :表示该方法覆盖父类的方法,当方法拼写错误或者和父类的对应不上时,编译器会报错 @SuppressWarnings :关闭编译器的警告报错 比如用过Spring框架的朋友肯定会熟悉很多注解。等等基本用法元注解:元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的met原创 2016-12-23 16:15:08 · 254 阅读 · 0 评论 -
Java----AWT组件开发和Swing界面编程(一)
一、AWT组件开发1、AWT入门 AWT是抽象窗口工具箱的缩写,它为编写图形用户界面提供了用户接口,通过这个接口就可以继承很多方法,省去了很多工作。AWT还能使应用程序更好地同用户进行交互。 AWT中的容器是一种特殊的组件,他可以包含其他组件,即可以把组件方法容器中。Container类是用来存放其他组件的Component类的子类,Frame类又是转载 2016-03-08 10:39:46 · 2927 阅读 · 0 评论 -
jvm虚拟机内部原理之概述和内存分配
1.概述JDK:java程序设计语言,java虚拟机,java API类库为API为JDK,是支持java程序开发的最小环境JRE:java API类库的java SE子集和java虚拟机是JRE,是支持程序运行的标准环境 JDK 1.7 的主要改进:新的G1收集器,加强对非java语言的支持,升级类加载器的架构 JDK 1.8 完成1.7未能发布的特性:Lambda表达式(函数式编程),C原创 2016-08-18 19:14:27 · 663 阅读 · 0 评论 -
System.getProperty用法
转自:http://blog.darkmi.com/2011/03/16/1666.htmlSystem.getProperty()用于获取当前的系统属性,比如java版本、操作系统名称、区域、用户名等,这些属性一般由jvm自动获取,不能手工设置。在一些开源服务器的源代码中会经常看到该方法的身影,简单小结一下。 java.version Java 运行时环境版本 java.vendor J转载 2016-08-27 13:57:32 · 664 阅读 · 0 评论 -
java的Base64算法详解以及Base64
百度百科的介绍Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP G原创 2016-10-16 10:11:57 · 572 阅读 · 0 评论 -
&与&&有什么区别?
一、简要说明按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;逻辑与:a&&b就是当且仅当两个操作数均为 true时,其结果才为 true;只要有一个为零,a&&b就为零。 例如: a&b 9&8 1001 1000结果是1000 a&&b 9&&8 结果是1&对每一个都判断;&&只要前面是false就输出false,而不继续判断后面了转载 2015-06-03 09:40:53 · 440 阅读 · 0 评论 -
Java循环中标签的使用
Java循环中标签的使用臭名昭著的“goto”goto关键字很早就在程序设计语言中出现。事实上,goto是汇编语言的程序控制结构的始祖:“若条件A,则跳到这里;否则跳到那里”。若阅读由几乎所有编译器生成的汇编代码,就会发现程序控制里包含了许多跳转。然而,goto是在源码的级别跳转的,所以招致了不好的声誉。若程序总是从一个地方跳到另一个地方,还有什么办法能识别代码的流程呢?随着Edsger Dijks原创 2015-06-13 10:26:26 · 808 阅读 · 0 评论 -
Instanceof的说明使用
instanceof函数是java里用来判断一个对象是否属于一个类的函数。result=对象 instance 类;下面举例说明package text;interface A{}class B implements A{}class C extends B{}public class InstanceofText { public static void main(String []a转载 2015-09-18 23:23:27 · 425 阅读 · 0 评论 -
java基础之==与equals的区别
==和equals是java中的关系操作符,这两个操作符通常会使第一次接触Java的程序员感到迷惑,下面是一个例子:public static void main(String[] args) { Integer n1=new Integer(47); Integer n2=new Integer(47); System.out.println(n1.e原创 2015-07-21 21:46:33 · 496 阅读 · 0 评论 -
java的Serializable 序列化简析
1.概念:把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。2.作用:把对象保存到从内存保存到硬盘在网络上传输对象的序列化,在使用时再把反序列化翻译成对象把对象保存到数据库3.举例:从网上看到一个例子非常适合描述序列化的作用: 比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能原创 2016-07-28 20:26:54 · 484 阅读 · 0 评论 -
dobbo源码解析目录地址
【肥朝】Dubbo 源码解析 作者 :肥朝 博客 :http://www.jianshu.com/u/f7daa458b874 目录 :《Dubbo 源码解析 —— 集群容错架构设计》《Dubbo 源码解析 —— Directory》《Dubbo 源码解析 —— Router》《Dubbo 源码解析 —— Cluster》《Dubbo 源码解析 —— LoadBalance》《Dubbo 源...转载 2018-04-13 19:41:44 · 675 阅读 · 3 评论