Java基础
喵喵7781
每天比昨天好一点点
展开
-
java 除法运算如何保留小数
Java 运算,java 基础,java 数据类型原创 2023-02-10 14:20:28 · 2946 阅读 · 2 评论 -
源码分析——ArrayList的add,get,retainAll方法原理分析
ArrayList的add方法 /** * Shared empty array instance used for default sized empty instances. We * distinguish this from EMPTY_ELEMENTDATA to know how much to inflate when * first el...原创 2019-05-20 17:41:16 · 968 阅读 · 1 评论 -
源码分析——What is ArrayList
Resizable-array implementation of the <tt>List</tt> interface. Implements all optional list operations, and permits all elements, including <tt>null</tt>. In addition to ...原创 2019-05-20 16:03:22 · 252 阅读 · 1 评论 -
JDBC-Interview Questions翻译
原文:https://www.tutorialspoint.com/jdbc/jdbc_interview_questions.htm因为工作中需要要分享Sharding-jdbc,希望从两个点进行分享,第一是项目中Sharding-jdbc的具体使用,做demo,第二是原理的深入研究。特此重温了JDBC的内容。如上地址是一个非常简单易学的外国网站tutorialspoint,很简单基...翻译 2018-12-18 17:20:17 · 1109 阅读 · 0 评论 -
源码分析——What is LinkedList
Doubly-linked list implementation of the {@code List} and {@code Deque}interfaces. Implements all optional list operations, and permits allelements (including {@code null}).双向链表实现了List接口和Deque接口。实...原创 2019-05-20 18:02:13 · 241 阅读 · 0 评论 -
源码分析——LinkedList的add和get方法原理分析
Linked的add方法 /** * Appends the specified element to the end of this list. * * <p>This method is equivalent to {@link #addLast}. * * @param e element to be appended...原创 2019-05-20 18:25:37 · 523 阅读 · 1 评论 -
源码分析——HashMap初始化
What is HashMap?Hash table based implementation of the Map interface. This implementation provides all of the optional map operations, and permits null values and the null key. (The HashMap class is...原创 2019-05-15 18:01:24 · 789 阅读 · 1 评论 -
JDK8——IntStream
IntStreamA sequence of primitive int-valued elements supporting sequential and parallel aggregate operations. This is theintprimitive specialization ofStream.支持对一系列原始int-valued元素对顺序和并行聚合操作。这是St...原创 2019-06-18 20:10:05 · 2621 阅读 · 0 评论 -
JDK8——Optional
OptionalA container object which may or may not contain a non-null value. If a value is present,isPresent()will returntrueandget()will return the value.容器对象,可能包含也可能不包含非null值。如果存在值,则isPresent...原创 2019-06-18 19:38:39 · 469 阅读 · 0 评论 -
源码分析——What is LinkedHashMap
<p>Hash table and linked list implementation of the <tt>Map</tt> interface, with predictable iteration order. This implementation differs from <tt>HashMap</tt> in th...原创 2019-05-29 12:10:31 · 249 阅读 · 0 评论 -
源码分析——ConcurrentHashMap的spread,put,size方法原理分析
ConcurrentHashMap的HashCode方法 /** * Spreads (XORs) higher bits of hash to lower and also forces top * bit to 0. Because the table uses power-of-two masking, sets of * hashes...原创 2019-05-17 16:18:08 · 5584 阅读 · 0 评论 -
源码分析——What is ConcurrentHashMap
A hash table supporting full concurrency of retrievals and high expected concurrency for updates. This class obeys the same functional specification as {@link java.util.Hashtable}, and includes versio...原创 2019-05-16 18:17:41 · 274 阅读 · 0 评论 -
源码分析——HashMap的put,resize,containskey方法原理分析
HashMap的put方法 /** * Associates the specified value with the specified key in this map. * If the map previously contained a mapping for the key, the old * value is replaced. * ...原创 2019-05-16 16:32:24 · 1418 阅读 · 0 评论 -
源码分析——线程池创建原理分析
目录线程池创建源码1.newFixedThreadPool2.newCachedThreadPool3.newSingleThreadExecutor4.newScheduledThreadPool5.四种线程池创建对比Java review--线程池我的这篇文章主要讲了为什么使用线程池,线程池包括哪些类型,还有简单的demo。接下来,我将分享的是线程池四种实现...原创 2019-05-24 13:27:11 · 341 阅读 · 0 评论 -
《从零开始写Java Web框架》——maven 插件
Maven pluginsmaven是一个 插件执行的框架,所有的工作需要通过插件来完成。(maven插件官网)项目中用到的几款插件,着重介绍一下:maven-compiler-plugin编译器插件用于编译项目的源代码.maven-surefire-pluginSurefire插件在构建生命周期的测试阶段使用,以执行应用程序的单元测试。tomcat7-...原创 2018-07-06 16:48:06 · 258 阅读 · 0 评论 -
【Java 基础】——面向对象
Java是一种面向对象的语言。Java虚拟机让该语言拥有了一次编译,多平台运行的超强适应能力,垃圾收集机制,让计算机的内存得到了更充分的利用。这样一种吸收了C/C++语言精华,去其槽粕的语言,怎么能不让大众喜欢呢?原创 2014-09-14 20:48:29 · 1865 阅读 · 38 评论 -
Java review--NIO
NIO核心详细总结原创 2016-08-01 10:48:57 · 412 阅读 · 1 评论 -
Java review--IO
IO详解和设计模式深入分析。原创 2016-08-01 11:44:54 · 493 阅读 · 1 评论 -
Java review--反射
深入讲解了Java反射,并结合动态代理,对反射进行了进一步的剖析。原创 2016-08-04 10:48:59 · 642 阅读 · 2 评论 -
Java review--JVM
JVM深入学习总结,分为三部分,类加载器,jVM内存分布,回收机制。原创 2016-08-04 10:49:03 · 668 阅读 · 4 评论 -
Java review--多线程
多线程总结。原创 2016-08-04 10:49:53 · 679 阅读 · 2 评论 -
Java review--NIO实例:实现服务端和客户端的简单通信
package nio;import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.S原创 2016-07-30 16:58:08 · 1823 阅读 · 5 评论 -
Java review--线程池
为什么要使用线程池? 主要是因为线程在创建和销毁的时候开销比较大,创建线程池,可以让线程并发执行。如果线程的创建和销毁时间,跟线程之间切换时间差不多,也没有用线程池的必要。线程池是什么? 线程池是一种多线程处理机制,处理过程将任务添加到队列里面,然后创建线程后自动启动这些任务。线程池由组成呢? 线程池管理器(ThreadPoolManager):创原创 2016-10-22 01:28:07 · 803 阅读 · 8 评论 -
Java多线程-基础及实现
1. 什么是线程线程是进程内的执行单元 某个进程当中都有若干个线程。 线程是进程内的执行单元。 使用线程的原因是,进程的切换是非常重量级的操作,非常消耗资源。如果使用多进程,那么并发数相对来说不会很高。而线程是更细小的调度单元,更加轻量级,所以线程会较为广泛的用于并发设计。在Java当中线程的概念和操作系统级别线程的概念是类似的。事实上,Jvm将原创 2017-06-30 23:44:48 · 455 阅读 · 4 评论 -
Java review--集合
V1.0 2016.7.31V2.0 2016.9.7为什么用Java集合? 集合是为了解决数组创建后定长,数据类型单一而生的。Java集合包括什么? List、Set、Map、Queue.Java集合类型?原创 2016-07-31 21:09:38 · 660 阅读 · 5 评论 -
【java基础】--Java枚举
为什么要用枚举呢? 个人觉得枚举非常灵活。没有枚举的时候,下拉框里面的常规选项,可以通过查询数据库来加载,也可以写死再页面上。如果下拉框里面的字段很多,或者需要经常性的变动,维护的代价是很大的,要么动数据库,要么动前台代码。但是如果使用枚举,通过一个枚举类来维护就可以了。枚举实现了页面显示和业务逻辑的解耦,减少了访问数据库的压力。原创 2016-03-03 22:01:30 · 983 阅读 · 10 评论 -
【Java基础】--上传文件
如何实现文件上传功能呢,详情可查看我的博客~原创 2016-02-12 21:35:26 · 925 阅读 · 7 评论 -
【Java基础】--Java容器剖析:Set、List、Map接口
上篇博客主要讲了容器的总接口Collection,这篇博客要介绍一下实现Collection接口的子接口:Set、List、Map。原创 2015-10-25 19:37:54 · 1103 阅读 · 7 评论 -
【Java基础】--再谈面向对象
对比之前的J2SE总结,发现如今的似乎更加的注重联系,开始能把细节的东西都编制到知识网络里面,导图的图片真的很赏心悦目。原创 2015-08-24 22:26:15 · 1092 阅读 · 19 评论 -
【Java基础】--深入剖析基础语法
基础是创造力的源泉。原创 2015-08-26 17:06:44 · 935 阅读 · 22 评论 -
【Java基础】--异常处理
异常概念 程序运行期出现的异常事件。良好的程序应该在异常发生的时候提供处理这些异常的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果。异常处理原理 异常分类 Throwable是所有错误或异常的超类。 Exception指出了合理的应用程序想要捕获的条件。 RuntimeException是可能在Java虚拟机正常运行期间抛出的异常的超类。原创 2015-09-08 15:17:51 · 1012 阅读 · 10 评论 -
【Java基础】--算法与数组
数组就是一堆数据类型相同的数按照一定的顺序排列的集合。数组就像标号的盒子,一排的就是一维数组,多排的就是二维数组。数组方便的数据的存取和查找。原创 2015-09-15 15:48:36 · 858 阅读 · 16 评论 -
【Java基础】--J2SE深度总结
学完J2SE(Java2 Standard Edition),对Java基础有了宏观的认识。 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。核心在于跨平台、面向对象。原创 2015-09-23 20:28:57 · 1045 阅读 · 30 评论 -
【Java基础】--Java容器剖析:collection容器
起初,Java应该先有的数组。数组是一种高效存储和随机访问对象引用序列的方式,在效率和类型检查方面很有优势,但是当创建一个数组对象的时候,数组的大小也就固定了。为了满足想要多少分配空间,就能占多少,容器就诞生了~~原创 2015-10-14 11:24:34 · 1060 阅读 · 14 评论 -
【Java 基础】--HttpServlet详解
Servlet简介Servlet的框架由两个java包组成:javax.servlet和javax.servlet.http在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类,在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类。原创 2015-11-22 12:02:01 · 2119 阅读 · 51 评论 -
Java多线程-无锁
1 无锁类的原理详解1.1 CASCAS算法的过程是这样:它包含3个参数CAS(V,E,N)。V表示要更新的变量,E表示预期值,N表示新值。仅当V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后,CAS返回当前V的真实值。CAS操作是抱着乐观的态度进行的,它总是认为自己可以成功完成操作。当多个线程同时使用CA原创 2017-06-30 23:48:08 · 606 阅读 · 4 评论