Java
文章平均质量分 59
「已注销」
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java异常
Java 异常 异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常) Java程序在执行过程中所发生的异常事件可分为两类: Error: Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。一般不编写针对性的代码进行处理 Exception: 其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代...原创 2018-04-22 12:55:20 · 217 阅读 · 0 评论 -
数组
数组 数组的声明 数组是相同类型的数据按顺序组成的一种复合数据类型。通过数组名加数组下标,来使用数组中的数据。下标从 0 开始排序。 声明一维数组 数组元素类型[ ] <数组名>; 声明二维数组 数组元素类型[ ][ ] <数组名>; 数组的实例化 声明数组仅仅是给出了数组名字和元素的数据类型,要想真正的使用数组必须为它分配内存空间,即实例化数...原创 2018-02-20 11:26:11 · 559 阅读 · 0 评论 -
字符串
Java字符串 String源码分析 底层是一个字符数组,且数组一旦初始化便不可以被改变,为final类型。 /** The value is used for character storage. */ private final char value[]; 存储字符串的hashcode。 /** Cache the hash code for the string */ p...原创 2018-02-20 15:48:48 · 183 阅读 · 0 评论 -
String构造方法与内存分析
String构造方法与内存分析 源代码 public class StringTest { public static void main(String[] args) { //第一种构造方法 String str="Hello World!"; String str0="Hello World!"; Stri...原创 2018-02-20 21:59:48 · 232 阅读 · 0 评论 -
HTML
HTML HTML(Hyper Text Markup Language),即超文本标记语言。 超文本(文字+图片+音频+视频+……) 标记语言(浏览器看到什么样的标记就会做出什么样的反应) HTML直接用浏览器来执行。 HTML经常用于编写web动态页面 这里介绍一个HTML的网站,这里的HTML还是比较全面的,对于入门学习很不错:HTML教程 HTML标记语言的特点 ...原创 2018-03-08 23:37:37 · 261 阅读 · 0 评论 -
封装类及常用类
封装类及常用类 基本数据类型的封装类 封装类的申明和实例化 字符串转化成对应的封装类 封装类转字符串 Character常用方法 ch表示目标字符 isDigit(char ch):如果ch是数字字符返回true,否则返回false isLetter(char ch):如果ch是字母字符返回true,否则返回false isLetterOrDigit(char ...原创 2018-02-23 11:40:35 · 343 阅读 · 0 评论 -
Tomcat服务器
Tomcat服务器 Web容器简介 要想运行一个Java Web程序,则必须要有相应的Web容器支持,所有的程序代码要在容器中执行,并将最后结果交付给用户使用 Web容器是一种服务程序,就是为应用服务器组(如JSP,Servlet等)提供一个运行环境,使JSP、servlet直接跟容器中的环境变量接口交互,不必关注其他系统问题,主要有web服务器来实现。 常见Web容器 大型(付费) ...原创 2018-03-10 09:33:47 · 283 阅读 · 0 评论 -
web工程
web工程 web工程目录图 web.xml需要自行创建,位于WEB-INF目录下,且每一次修改web.xml文件都需要重新启动服务器。 还可以在WEB-INF目录下创建一个lib文件夹,用以保存工程需要的jar工具包。 Publish操作 web工程发布之后,以工程名为文件夹名称,然后将WebContent目录下的所有文件发布到Tomcat中的wtpwebapps文件目录下以工...原创 2018-03-10 09:52:38 · 459 阅读 · 0 评论 -
Java内存管理以及常量池
Java内存管理以及常量池 Java的内存管理就是对象的分配和释放问题。在Java中,内存的分配是由程序完成的,而内存的释放是由垃圾回收器(Garbage Collection,GC)完成的,程序员不需要通过调用函数来释放内存,但它只能回收无用并且不再被其它对象引用的那些对象所占用的空间。 首先,想要了解JAVA的内存分配,就要先知道有哪些内存模块,也就是说要了解JAVA内存模型。Java虚拟...原创 2018-02-24 19:12:27 · 1748 阅读 · 0 评论 -
Java中Comparable和Comparator两种比较器
Java中Comparable和Comparator两种比较器 Comparable 和 Comparator 都是用来实现集合中元素的比较、排序的两种比较器接口,这两种比较器很相似,只是 Comparable 是在集合内部定义的方法实现的排序,可称之为内比较器,而Comparator 是在集合外部实现的排序,可称之为外比较器。所以,如果想实现排序,就需要在集合外定义 Comparator 接口...原创 2018-04-11 21:00:54 · 1406 阅读 · 0 评论 -
Java容器-List
Java集合类 List 概要图 Java中常用集合类 常用集合类主要分为Collection和Map两大分支。橙色表示接口,蓝色表示实现类。 线性结构 Java中使用List接口描述线性结构,其实现类使用最频繁的有ArrayList(数组线性表)和LinkedList(双向链表)。 List里存放的对象时有序的,同时也是可以重复的,并提供了按索引访问的方式。 List接...原创 2018-04-11 23:02:41 · 1755 阅读 · 0 评论 -
Java集合—Map
Java集合——Map 概要图 映射集(Map) Java中使用Map接口描述映射结构,映射Map是一个独立的接口,描述的是键key-值value的对应关系,Map不允许键重复,并且每个键只能对应一个值,键不能重复,值可以重复,键和值都不能为空。 Map接口的常用方法(这些都是源码的一些摘录,由此可见学好英语是多么重要,不然注释都可能看不懂!): int size():retu...原创 2018-04-22 11:44:43 · 247 阅读 · 0 评论 -
JDBC中常用的类和接口
JDBC中常用的类和接口 Connection接口 Connection接口代表与特定的数据库连接,在连接上下文中执行SQL语句并返回结果。 方法 功能描述 createStatement() 创建一个Statement对象 createStatement(int resultSetType, int resultSetConcurrency) 创...原创 2018-03-08 16:36:33 · 5262 阅读 · 0 评论 -
01.JDBC的高级使用——ConnectionFactory
JDBC的高级使用——ConnectionFactory ConnectionFactory:连接工厂 ConnectionFactory的作用 利用工厂模式提升代码的重用性 封装注册数据库的驱动和获得数据库的连接 利用配置文件减少硬编码,便于维护 ConnectionFactory的开发 配置文件jdbcinfo.properties 该后缀类型的文件存储的是键值对数据...原创 2018-04-25 14:55:17 · 9374 阅读 · 0 评论 -
Java嵌套类和内部类
Java内部类 内部类 1. 静态内部类(内部类中最简单的形式) 声明在类体部,方法体外,并且使用static修饰的内部类 访问特点可以类比静态变量和静态方法 脱离外部类的实例独立创建 在外部类的外部构建内部类的实例 new Outer.Inner(); 在外部类的内部构建内部类的实例 new Inner(); 静态内部类体部可以直接访问外部类中所有的静态成员,包含私...原创 2018-04-27 14:49:34 · 998 阅读 · 0 评论 -
接口实例化——匿名内部类
接口实例化——匿名内部类 public Interface IFly { void fly(); } public class Bird { public Bird() { } public void fly(IFly f) { f.fly(); } } public class Test { public static ...转载 2018-04-27 19:03:33 · 2660 阅读 · 0 评论 -
文件与数据流
文件与数据流 类概要图 相关概念: 文件:文件是用来存储计算机数据的,是计算机软件的重要组成部分。它可以存放在多种介质中,例如硬盘、软盘和光盘,而且还可以通过网络传输。 内存:内存也可以存储计算机数据,但与存储在硬盘上的文件数据相比,存储在内存中的数据在计算机关机或掉电的时候消失。 字符流(字节流):组成文件的字符序列(字节序列) ...原创 2018-04-27 23:13:35 · 1855 阅读 · 0 评论 -
迭代
迭代 集合类数据类型的基本操作之一就是,能够使用Java的foreach语句通过迭代遍历并处理集合中的每个元素。这种方式的代码既清晰有简洁,且不依赖于集合数据类型的具体实现。如: Stack<String> collection = new Stack<String>(); ...... for(String s : collection){ ...... ...原创 2018-05-14 15:22:46 · 420 阅读 · 0 评论 -
DAO模式开发过程
DAO模式开发步骤 DAO模式开发 编写连接工厂ConnectionFactory,用来获取连接、返回连接对象。编写DBUtils处理关闭JDBC三个接口。 package com.li.jdbc.advanced; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; ...原创 2018-05-26 09:47:12 · 2250 阅读 · 0 评论 -
下压堆栈(链表实现)
下压堆栈(链表实现) 这份泛型的Stack实现的基础是链表数据结构。它可以用于创建任意数据类型的栈,并且实现了迭代接口,我们可以通过迭代来变量堆栈中的内容。 package com.li.container; import java.util.Iterator; /*下压堆栈(链表实现)*/ public class Stack<Item> implements Iter...原创 2018-05-26 20:02:33 · 324 阅读 · 0 评论 -
Java反射机制
Java反射机制 反射概述 反射的概念是由 Smith 在1982年首次提出的,主要是程序可以访问、检测和修改它本省状态或行为的一种能力。 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类所有的属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象的方法的功能称为Java语言的反射机制。 简单的来说,反射机制是指程序在运行时能够获取自...原创 2018-05-23 11:23:43 · 207 阅读 · 0 评论 -
Java反射API
Java反射API java.lang.reflect库 Class类和java.lang.reflect类库一起对反射的概念进行支持。 java.lang包下: Class&amp;amp;amp;amp;amp;lt;T&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt;:表示一个正在运行的Java应用程序中的类和接口,是Reflection的起源。 java.lang.reflect包下: Fi原创 2018-05-23 11:24:26 · 687 阅读 · 0 评论 -
通过反射机制来复制一个对象
通过反射机制来复制一个对象 案例介绍 Student类,有属性id,name,age,对应的get、set方法和构造方法,现产生一个Student对象。通过反射复制此Student对象。 案例设计 通过反射机制来获取类的属性和方法。 通过反射来生成对象,并通过反射来调用其set方法来对属性进行赋值以达到复制对象的目的。 最后对复制成功的对象信息进行打印。 程序 pa...原创 2018-05-23 15:28:15 · 552 阅读 · 0 评论 -
HashMap底层代码学习
HashMap底层源码学习 前述 最近在微信工作号上看到一篇好文章,忍不住推荐一波,供大家学习,我结合文章内容再自己去翻了一翻源码,学习一下HashMap。 众所周知,HashMap是一个用于存储Key-Value键值对的集合,并且是线程不安全的,其中每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个名为 table 的数组当中,该数组存储的是 Node<K, ...原创 2018-06-11 21:02:02 · 359 阅读 · 0 评论 -
Java位运算符
Java位运算符 今天在学习 HashMap 的时候,发现这么一段代码: static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; n |= n >&...原创 2018-06-07 18:57:31 · 299 阅读 · 0 评论 -
Java标识符&关键字&基本数据类型
Java标识符 由英文字母、数字、_(下划线)和$组成,长度不限。其中英文字母包含大写字母(A~Z)和小写字母(a~z),数字包含0到9。 标识符的第一个字符不能是数字(即标识符不能以数字开头)。 标识符区分大小写。 标识符不能包含空格。 标识符用来命名变量、符号常量、数组、方法、类、对象、接口、包等。为了提高程序的可读性,标识符最好“见名知义”,而且规范大小写的使用方式。 Java关...原创 2018-02-13 21:19:22 · 632 阅读 · 0 评论 -
Java日期类
java.lang.System类 System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。 此方法适于计算时间差。 java.util.Date类 Date( )使用Date类的无参数构造方法创建的对象可以获取本地当前时间。 Date(long date) getTi...原创 2017-12-08 19:43:59 · 266 阅读 · 0 评论 -
回形数字矩阵(Java)
问题 解决思想(递归) 将矩阵从里到外分为多层,每一层都是一个口字型数字序列,方向都是顺时针,由此我们可以将问题分解为相同的子问题,采用递归算法 源代码 import java.util.Scanner;/** * * @author Vinsmoke * * * 打印回形矩阵 * * */ public class Pattern { static int n;原创 2017-11-23 14:46:44 · 11713 阅读 · 5 评论 -
HaspMap底层代码学习
前述 最近在微信工作号上看到一篇好文章,忍不住推荐一波,供大家学习,关注这个微信号还是能学到一些东西的,下面微信工作号文章的地址 什么是HashMap 众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。 HashMap数组每一个元素的初始值都是Null。 ...原创 2017-12-12 16:44:45 · 473 阅读 · 1 评论 -
数据结构:手动编写Java栈
栈 栈是存放对象的一种特殊容器,在插入与删除对象时,这种结构遵循后进先出(last-in-first-out, LIFO)的原则 栈ADT作为一种抽象数据类型(ADT),栈必须支持下列的基本方法: push():将对象压至栈顶,并输出栈顶对象 pop():若栈非空,则将栈顶元素移除,并将其返回;否则,报错 getSize():返回栈内当前对象的数目 isEmpty():检查栈是否为空 top():若原创 2017-12-04 14:27:24 · 337 阅读 · 0 评论 -
字符串中字符删除ac和b
问题 一个字符串,其中只有小写的字母,按条件删除 1、当字符串中有ac挨着的情况下,把ac删除 2、当字符串中有b 把b删除 3、最好只遍历一次 Analyse 想一想要从字符串里面删除字符,但是又要移动字符的话好麻烦,首先考虑到StringBuilder类,使用这个类就比较简单了 源代码 public class Interview { public static void mai原创 2017-11-23 23:38:23 · 2259 阅读 · 0 评论 -
Java字符串生成器StringBuilder
创建成功的字符串对象,其长度是固定的,内容不能被改变和编译。虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的String实例,会在内存中创建新的字符串对象。如果重复地对字符串进行修改,将极大地增加系统开销。而 J2SE5.0新增了可变的字符序列StringBuilder类,大大提高了频繁增加字符串的效率 验证时间效率 public class Jerque { // 新建类原创 2017-11-22 00:09:35 · 727 阅读 · 0 评论 -
浅析Java中的hashcode方法
今天在网上看到一片很好的文章,忍不住要转过来收藏一波,其中在代码处稍作了些修改。 先表明转载的出处: https://www.cnblogs.com/dolphin0520/p/3681042.html哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode();根据这个转载 2017-12-06 21:20:38 · 493 阅读 · 1 评论 -
Java集合类-Set
Java集合类-Set 概要图 集合Set Java中使用Set接口描述一个集合(集合不允许有“重复值”,注意重复的概念),集合Set是Collection的子接口,Set不允许其数据元素重复出现,也就是说在Set中每一个数据元素都是唯一的。Set接口定义的常用方法如下: 序号 方法 描述 1 size() 获取Set尺寸(即Set包含数据元素的总数...原创 2017-12-15 23:15:33 · 6489 阅读 · 0 评论 -
== 与 equals()
== 与 equals() == 是一个运算符 Equals则是string对象的方法 我们比较无非就是这两种:1、基本数据类型的比较 2、引用对象的比较 基本数据类型比较 ==比较两个值是否相等,相等为true,否则为false;而equals()是String类的方法,不用来比较基本数据类型。 引用对象比较 ==比较两个对象是否指向内存中的同一个对象,即指向同一个地址...原创 2018-02-26 22:17:03 · 166 阅读 · 0 评论 -
JavaSE和JavaEE的区别
JavaSE和JavaEE的区别 JavaEE:Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等。企业版本帮助开发和部署可移植、健壮、可伸缩切安全的服务端Java应用。Java EE是在JavaSE的基础上构建的他提供Web 服务、组建模型、管理和通信API.可以用来实现企业级的面向服务体系结构(service-oriented archit...原创 2018-03-06 20:43:50 · 71467 阅读 · 0 评论 -
吸血鬼数(Java实现)
Description吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘得到,而这对数字的位数是原数字的一半位数,并且由组成原数字的各个位数组成,以两个0结尾的数字不是吸血鬼数字。 例如:1260 = 21 * 60 1827 = 21 * 87 2187= 27 * 81 求所有四位吸血鬼数字解决方案一(逆向思维) Analyse 通常思维是枚举所有的四位数来找出所有符合条件的吸原创 2017-11-13 23:32:09 · 2077 阅读 · 5 评论 -
文件与数据流
文件与数据流 相关概念: 文件:文件是用来存储计算机数据的,是计算机软件的重要组成部分。它可以存放在多种介质中,例如硬盘、软盘和光盘,而且还可以通过网络传输。 内存:内存也可以存储计算机数据,但与存储在硬盘上的文件数据相比,存储在内存中的数据在计算机关机或掉电的时候消失。 字符流(字节流):组成文件的字符序列(字节序列) 输入流与输出流 输入流将数据从文件、标准输入或其他外部设...原创 2018-02-13 22:04:08 · 585 阅读 · 0 评论 -
斜杠与反斜杠
斜杠与反斜杠 Windows Windows系列系统中,在文件到路径里面表示层级使用反斜杠”\”。因为微软在开发DOS2.0的时候,从UNIX中借鉴了它的目录结构,但由于DOS中,斜杠已经用来作为命令行参数的标志了(UNIX中用的是“-”符),所以只得使用反斜杠:\。 例如我们电脑桌面的路径C:\Users\Administrator\Desktop UNIX/Linux UNI...原创 2018-02-14 12:30:57 · 4386 阅读 · 0 评论 -
Java中final关键字
Java中的final关键字 final关键字的用法 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。 修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为fina...原创 2018-02-27 21:08:33 · 270 阅读 · 0 评论
分享