E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
JAVA提高
Java提高
篇(二)——String,StringBuffer,StringBuilder
1先来分析一下这三个类之间的关系(都是通过字符数组来实现的)乍一看它们都是用于处理字符串的java类,而且长得也都差不多,相信肯定有人会以为StringBuffer和StringBuilder都是继承自String这个类,即认为String类是其他两个类的超类。这种想法似乎很合理,但其实是不对的,事实上StringBuffer和StringBuilder确实是继承自某个类,但是这个类并不是Stri
SnowDragonYY
·
2019-12-31 20:55
Java进步(一)----HashMap
参阅博客1,
java提高
篇(二三)-----HashMap这一篇由chenssy发表于2014年1月,是根据JDK1.6的源码讲的。
fupeng
·
2019-12-23 03:59
字符串&final关键字【
Java提高
十三】
字符串一、String首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象。查看源码就会发现String类为final型的(当然也不可被继承),而且通过查看JDK文档会发现几乎每一个修改String对象的操作,实际上都是创建了一个全新的String对象。字符串为对象,那么在初始化之前,它的值为null,到这里就有必要提下””、null、newString()三者的区别。
Java帮帮
·
2019-12-22 00:10
震惊!马士兵、周志垒两名清华高材生,和腾讯干上了!
马士兵老师和他的团队携手腾讯重磅推出面向2020的硬核
Java提高
课小七老师:让我们看看学这门课的学生们都怎么说,6分钟前马老师小迷弟,恭喜我喜提offer,小小程序迷恭喜我喜提offer:我自己都没想到
IT程序员
·
2019-12-15 06:17
【
java提高
】(18)---静态内部类和非静态内部类
java提高
](18)—静态内部类和非静态内部类定义放在一个类的内部的类我们就叫内部类。
雨点的名字
·
2019-08-17 15:00
【
java提高
】(17)---Java 位运算符
Java位运算符&、|、^、~、>以前学过有关java的运算符,不过开发了这么久也很少用过这个。现在由于开发需要,所以现在再来回顾整理下有关java的运算符。主要运算符有以下:与(&)、或(|)、异或(^)、取反(~)、左移(>)。一与(&)和(|)1、&(按位与)规则:将两边的数转换为二进制位,然后运算最终值。运算规则即(两个为真才为真)1&1=1,1&0=0,0&1=0,0&0=0。举例:4&
雨点的名字
·
2019-08-12 23:00
TreeMap实现原理 红黑树
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与
Java提高
篇系列博文保持一致还是叫做
loyaltylzr
·
2019-07-22 10:44
java
java提高
篇(二五)-----HashTable
一、定义HashTable在Java中的定义如下:publicclassHashtableextendsDictionaryimplementsMap,Cloneable,java.io.Serializable从中可以看出HashTable继承Dictionary类,实现Map接口。其中Dictionary类是任何可将键映射到相应值的类(如Hashtable)的抽象父类。每个键和每个值都是一个对
wx5d08a16a6ec29
·
2019-07-15 13:43
java
快速了解基于AQS实现的Java并发工具类
AQS是AbstractQueuedSynchronizer的简称,类如其名,抽象的队列式的同步器,它是一个
Java提高
的底层同步工具类,用一个int类型的变量表示同步状态,并提供了一系列的CAS操作来管理这个同步状态
全菜工程师小辉
·
2019-07-08 08:00
Java面试你要知道这些
java复习快速导航
基础加强知识点javaweb1(mysql、HTML、js、xml)javaweb2(tomcat、cookie、el、filter)javaweb3(jquery、ajax、json、redis)maven2.
java
慢慢慢时光
·
2019-06-11 09:23
阶段总结
java复习
【
java提高
】(16)---java注解(Annotation)
java提高
(16)---java注解注解含义注解是JDK1.5之后才有的新特性,它相当于一种标记,在程序中加入注解就等于为程序打上某种标记,之后又通过类的反射机制来解析注解。
雨点的名字
·
2019-06-03 22:00
面试之
java提高
-杨晓峰专栏笔记
学习杨晓峰专栏的笔记,39个热门面试题的解读,分享给正在面试或即将面试的小伙伴们文章目录1.谈谈你对java平台的理解2.对比Exception和Error,另外,运行时异常与一般异常有什么区别?3.谈谈final、finally、finalize有什么不同?4.强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么?5.理解Java的字符串,String、StringBufer、Stri
慢慢慢时光
·
2019-05-25 12:43
面试准备
java提高
_netty
netty大名鼎鼎,现在应用广泛,本文主要介绍netty的概述,API以及几个小demo,希望能记录自己的学习笔记,分享大家,共同进步。文章目录1.概述2.Netty的整体设计1.线程模型单线程模型线程池模型Netty模型2.异步模型FutureCallback和Handler3.核心APIChannelHandler及其实现类pipeline和ChannelPipelineChannelHand
慢慢慢时光
·
2019-05-02 13:54
java提高
java提高
篇(一)-----理解java的三大特性之封装
版权声明:版权声明:转载前请留言获得作者许可,转载后标明作者chenssy和原文出处。原创不易,感谢您的支持从大二接触java开始,到现在也差不多三个年头了。从最基础的HTML、CSS到最后的SSH自己都是一步一个脚印走出来的,其中开心过、失落过、寂寞过。虽然是半道出家但是经过自己的努力也算是完成了“学业”。期间参加过培训机构,但是极其不喜欢那种培训方式,于是毅然的放弃了选择自学(可怜我出了600
Bacyang
·
2019-04-10 14:32
JDK8
Java提高
之泛型
1.概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
听海的石头
·
2019-04-01 14:04
Java提高
理解java的三大特性之多态
java提高
篇(四)-----理解java的三大特性之多态面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。
云源
·
2019-03-28 19:00
java提高
篇(四)-----理解java的三大特性之多态
面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。转自:https://www.cnblogs.com/chenssy/p/3372798.html继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多
G别针
·
2019-03-21 10:01
java
多态
java提高
篇(四)-----理解java的三大特性之多态
面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。转自:https://www.cnblogs.com/chenssy/p/3372798.html继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多
G别针
·
2019-03-21 10:01
java
多态
java提高
(15)---java深浅拷贝
#java深浅拷贝一、前言为什么会有深浅拷贝这个概念?我觉得主要跟JVM内存分配有关,对于基本数据类型,只存在栈内存,所以它的拷贝不存在深浅拷贝这个概念。而对于对象而言,一个对象的创建会在内存中分配两块空间,一个在栈内存存对象的引用指针,一个在堆内存存放对象。这个时候会有一个问题,你拷贝的只是这个引用指针还是拷贝两块内存一起拷贝,这个时候就会有深浅拷贝一说。还有之前我认为Arrays.copyOf
雨点的名字
·
2019-03-14 00:00
Java提高
班(六)反射和动态代理(JDK Proxy和Cglib)
原文链接:https://my.oschina.net/u/3471412/blog/29869862019独角兽企业重金招聘Python工程师标准>>>反射和动态代理放有一定的相关性,但单纯的说动态代理是由反射机制实现的,其实是不够全面不准确的,动态代理是一种功能行为,而它的实现方法有很多。要怎么理解以上这句话,请看下文。一、反射反射机制是Java语言提供的一种基础功能,赋予程序在运行时自省(i
weixin_34272308
·
2018-12-11 18:00
Java提高
班(六)反射和动态代理(JDK Proxy和Cglib)
反射和动态代理放有一定的相关性,但单纯的说动态代理是由反射机制实现的,其实是不够全面不准确的,动态代理是一种功能行为,而它的实现方法有很多。要怎么理解以上这句话,请看下文。一、反射反射机制是Java语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能力。通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取类声明的属性和方法,调用方法或者构造对象,甚至可以
王磊的博客
·
2018-12-11 18:00
【
Java提高
篇】Java中MyStringUtils工具类
【
Java提高
篇】Java中MyStringUtils工具类packagecom.storm.chen_04;importjava.util.ArrayList;importjava.util.Arrays
stormchenmeng
·
2018-12-08 12:40
String
字符串工具类
StringUtils工具类
java中的字符串工具类
自定义字符串工具类
Java语言基础
Java提高
班(五)深入理解BIO、NIO、AIO
导读:本文你将获取到:同/异步+阻/非阻塞的性能区别;BIO、NIO、AIO的区别;理解和实现NIO操作Socket时的多路复用;同时掌握IO最底层最核心的操作技巧。BIO、NIO、AIO的区别是什么?同/异步、阻/非阻塞的区别是什么?文件读写最优雅的实现方式是什么?NIO如何实现多路复用功能?带着以上这几个问题,让我们一起进入IO的世界吧。在开始之前,我们先来思考一个问题:我们经常所说的“IO”
王磊的博客
·
2018-12-04 17:00
Java提高
班(四)面试必备—你不知道的数据集合
导读:Map竟然不属于Java集合框架的子集?队列也和List一样属于集合的三大子集之一?更有队列的正确使用姿势,一起来看吧!Java中的集合通常指的是Collection下的三个集合框架List、Set、Queue和Map集合,Map并不属于Collection的子集,而是和它平行的顶级接口。Collection下的子集的关系如文章开头图片所示。本文的重点将会围绕:集合的使用、性能、线程安全、差
王磊的博客
·
2018-11-28 08:00
Java提高
班(三)并发中的线程同步与锁
乐观锁、悲观锁、公平锁、自旋锁、偏向锁、轻量级锁、重量级锁、锁膨胀...难理解?不存的!来,话不多说,带你飙车。上一篇介绍了线程池的使用,在享受线程池带给我们的性能优势之外,似乎也带来了另一个问题:线程安全的问题。那什么是线程的安全问题呢?一、线程安全问题的产生线程安全问题:指的是在多线程编程中,同时操作同一个可变的资源之后,造成的实际结果与预期结果不一致的问题。比如:A和B同时向C转账10万元。
王磊的博客
·
2018-11-22 09:00
Java提高
班(二)深入理解线程池ThreadPool
本文你将获得以下信息:线程池源码解读线程池执行流程分析带返回值的线程池实现延迟线程池实现为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高级内容,读者可根据自己的情况自主选择阅读顺序和需要了解的章节。一、线程池优点线程池能够更加充分的利用CPU、内存、网络、IO等系统资源,线程池的主要作用如下:利用线程池可以复用线程,控制最大并发数;实现任务缓存策略和拒绝机制;实
王磊的博客
·
2018-11-19 17:00
【
Java提高
篇】Java中数组、List和Set的互相转换
【
Java提高
篇】Java中数组、List和Set的互相转换1.1、数组转ListString[]staffs=newString[]{"Tom","Bob","Jane"};ListstaffsList
stormchenmeng
·
2018-11-02 17:16
Java语言基础
【
Java提高
篇】Java中Map的四种遍历方式
【
Java提高
篇】Java中Map的四种遍历方式方式一:使用Entry和entrySet的结合这是最常见的一种遍历方式,并且在大多数情况下也是最可取的遍历方式。在键值都需要的时候使用。
stormchenmeng
·
2018-11-02 17:40
Java提高
班(一)Thread详解
一、概述在开始学习Thread之前,我们先来了解一下线程和进程之间的关系:线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。由上描述,可以得知线程作为cpu的
王磊的博客
·
2018-10-09 19:00
Java提高
——JUC线程线程池和线程调度
线程池第四种获取线程的方法:线程池,一个ExecutorService,它使用可能的几个池线程之一执行每个提交的任务,通常使用Executors工厂方法配置。线程池可以解决两个不同的问题:1)、由于减少了每个任务调用的开销,他们通常可以在执行大量异步任务的时候提供增强性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。2)、每个ThreadPoolExecutor还维护着一些基
一颗洛米
·
2018-07-12 09:57
JUC
多线程
android(java) HashMap详解
1.Java中HashMap的常用操作2.
java提高
篇(二三)-----HashMap3.Android内存优化(使用SparseArray和ArrayMap代替HashMap)4.浅谈Java中的hashcode
一点一滴地累积
·
2018-06-03 16:25
Android
Java提高
——Java的内存回收(1)
Java引用的种类当程序员通过new关键字创建对象,即视为为Java对象申请内存空间。JVM会在堆内存中为每个对象分配空间;当一个对象失去引用的时候,JVM垃圾回收机制会自动清除他们,并回收他们所占用的内存空间。Java内存管理包括内存分配(创建Java对象的时候)和内存回收(回收Java对象的时候)两个方面。JVM垃圾回收机制是否回收一个对象的标准:是否有引用变量引用该对象?classNod{N
一颗洛米
·
2018-05-17 17:38
java
静态代码块,构造代码块,构造函数执行执行顺序详解
Java提高
篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序阅读目录构造函数构造代码块静态代码块Java类初始化顺序静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块
lahand
·
2018-05-14 15:46
java
Map接口集合详解【
Java提高
十八】
四、Map接口Map与List、Set接口不同,它是由一系列键值对组成的集合,提供了key到Value的映射。同时它也没有继承Collection。在Map中它保证了key与value之间的一一对应关系。也就是说一个key对应一个value,所以它不能存在相同的key值,当然value值可以相同。实现map的有:HashMap、TreeMap、HashTable、Properties、EnumMa
Java帮帮
·
2018-05-12 18:42
异常【
Java提高
十四】
Java的基本理念是“结构不佳的代码不能运行”!!!!!大成若缺,其用不弊。大盈若冲,其用不穷。在这个世界不可能存在完美的东西,不管完美的思维有多么缜密,细心,我们都不可能考虑所有的因素,这就是所谓的智者千虑必有一失。同样的道理,计算机的世界也是不完美的,异常情况随时都会发生,我们所需要做的就是避免那些能够避免的异常,处理那些不能避免的异常。这里我将记录如何利用异常还程序一个“完美世界”。一、为什
Java帮帮
·
2018-04-19 15:07
集合指定初始容量&asList缺陷&subList缺陷【
Java提高
二十】
集合指定初始容量集合是我们在Java编程中使用非常广泛的,它就像大海,海纳百川,像万能容器,盛装万物,而且这个大海,万能容器还可以无限变大(如果条件允许)。当这个海、容器的量变得非常大的时候,它的初始容量就会显得很重要了,因为挖海、扩容是需要消耗大量的人力物力财力的。同样的道理,Collection的初始容量也显得异常重要。所以:对于已知的情景,请为集合指定初始容量。上面代码两个list都是插入1
Java帮帮
·
2018-04-19 14:40
Iterator&fail-fast机制【
Java提高
十九】
Iterator详解迭代对于我们搞Java的来说绝对不陌生。我们常常使用JDK提供的迭代接口进行Java集合的迭代。迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类,它是一个很典型的设计模式。Iterator模式是用于遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构。在没有迭代器时我们都是这么进行处理的。如下
Java帮帮
·
2018-04-19 14:45
Java提高
篇之隐藏静态方法
最近,我和一位同事在同一个签名的父类和子类中就静态方法进行了一次快速聊天。对话的来源是术语“隐藏”与“覆盖”,以及为什么“隐藏静态方法”是正确的并且可行,但“覆盖静态方法”是不正确的并且不起作用。TL;DR“不能覆盖静态方法”,因为JVM在声明的引用类上执行静态方法,而不是定义的运行时/实例类。一个简单的例子展示了几种不同的静态方法执行上下文,说明了结果:packagecom.intertech.
ExtraLazy
·
2018-03-09 17:50
Java
Java提高
篇之隐藏静态方法
Hiding-Static-Methods最近,我和一位同事在同一个签名的父类和子类中就静态方法进行了一次快速聊天。对话的来源是术语“隐藏”与“覆盖”,以及为什么“隐藏静态方法”是正确的并且可行,但“覆盖静态方法”是不正确的并且不起作用。TL;DR“不能覆盖静态方法”,因为JVM在声明的引用类上执行静态方法,而不是定义的运行时/实例类。一个简单的例子展示了几种不同的静态方法执行上下文,说明了结果:
橘之缘之空
·
2018-03-09 17:15
java中的深复制和浅复制
阅读更多前言:本文为复制文章,便于以后查阅,非常感谢原文作者,原文链接如下:https://www.cnblogs.com/Qian123/p/5710533.html
Java提高
篇——对象克隆(复制)
米糠杰
·
2018-03-07 15:00
java提高
篇——ArrayList
1.ArrayList概述ArrayList是实现List接口的动态数组,所谓动态就是它的大小是可变的。实现了所有可选列表操作,并允许包括null在内的所有元素。2.ArrayList源码分析底层是由数组实现的;ArrayListlist=newArrayList();创建一个对象默认会创建一个容量为10的数组,注意这个是在调用ArrayList的add方法是创建的add方法:add(Ee):将指
水墨之白
·
2018-02-19 23:05
java
JAVA提高
第七篇 类加载器解析
今天我们学习类加载器,关于类加载器其实和JVM有很大关系,在这里这篇文章只是简单的介绍下类加载器,后面学习到JVM的时候还会详细讲到类加载器,本文分为下面几个小节讲解:一、认识类加载器1.什么是类加载器?所谓的类加载器可以从其作用来理解,其功能就是将classpath目录下.class文件,加载到内存中来进行一些处理,处理完的结果就是一些字节码.那是谁把这些class类加载到内存中来的呢?就是类加
pony1223
·
2017-10-31 10:26
JAVA提高
第八篇 动态代理技术
对于动态代理,学过AOP的应该都不会陌生,因为代理是实现AOP功能的核心和关键技术。那么今天我们将开始动态代理的学习:一、引出动态代理生活中代理应该是很常见的,比如你可以通过代理商去买电脑,也可以直接找厂商买电脑,最终都是买到了电脑。程序中也一样存在代理的情况,比如要为已经存在的多个具有相同接口的目标类的各个方法增加一些系统功能,例如:异常处理、日志、计算方法耗时等等,那么我们会怎么做呢?1.会编
pony1223
·
2017-10-31 09:08
JAVA提高
第十篇 ArrayList深入分析
前面一章节,我们介绍了集合的类图,那么本节将学习Collection接口中最常用的子类ArrayList类,本章分为下面几部分讲解(说明本章采用的JDK1.6源码进行分析,因为个人认为虽然JDK1.8进行了部分改动,但万变不离其宗,仍然采用的JDK1.6的引子进行的优化,因此学会了1.6对于1.8也就理解了)。一、ArrayList的常见功能在分析ArrayList的源码前,我们先看下ArrayL
pony1223
·
2017-10-31 08:58
JAVA提高
第九篇 集合体系
在经过了前面的JDK6.0新特性的学习后,将进一步深入学习JDK,因为集合的重要性,因此从集合开始入手分析:一、集合概况Java是一种面向对象语言,如果我们要针对多个对象进行操作,那么首先必要将多个对象进行保存起来之后,然后才能操作,那么我们肯定会想到用数组来进行存放,但数组长度固定,不能满足变化的要求。所以,JAVA提供了集合。数组与集合的区别:数组:长度固定、可以存放基本类型/引用类型、数组中
pony1223
·
2017-10-31 08:25
java实现json格式的状态码数据
编写登陆页面的类LoginController编写启动程序JsonStatusApplication浏览器中访问url返回结果如果不创建JsonResult会是什么效果代码块修改LoginController
java
expect521
·
2017-08-28 16:19
java基础
status-状态码
状态码
junit
java提高
技能试题,程序员必做题
关注Linux小管家,100套Linux原创面试试题免费领取,看文末!问题:什么是Java虚拟机?答案:Java虚拟机是能移植到不同硬件平台上的软件系统。问题:类型向下转换是什么?答案:向下转换是指由一个通用类型转换成一个具体的类型,在继承结构上向下进行。问题:Java的访问修饰符是什么?答案:访问权限修饰符是表明类成员的访问权限类型的关键字。使用这些关键字来限定程序的方法或者变量的访问权限。它们
Linux小管家
·
2017-08-18 10:03
java容器之七_TreeMap与红黑二叉树
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与
Java提高
篇系列博文保持一致还是叫做
夜_孤城
·
2017-06-21 11:21
java基础
java容器
零基础如何学习Python
C++、Java乃至C#都可以看做是同一类型的语言:C++还算灵活,但纷繁复杂的语法使得生产效率低下,
Java提高
了生产效率,却损失了灵活性;C#算是在生产效率和灵活性平衡之间做得不错了,但是还是不够的
鑫韭缘设计
·
2017-03-30 10:03
零基础如何学习Python
C++、Java乃至C#都可以看做是同一类型的语言:C++还算灵活,但纷繁复杂的语法使得生产效率低下,
Java提高
了生产效率,却损失了灵活性;C#算是在生产效率和灵活性平衡之间做得不错了,但是还是不够的
鑫韭缘设计
·
2017-03-30 10:03
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他