java
文章平均质量分 92
hangoer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Maven
Maven⼯具的简介 开发过程中遇到的问题 1、都是同样的代码,为什么在我的机器上可以编译执⾏,⽽在他的机器上就不⾏? 2、为什么在我的机器上可以正常打包,⽽配置管理员却打不出来? 3、项⽬组加⼊了新的⼈员,我要给他说明编译环境如何设置,但是让我挠头的是,有些细节我也记不清楚 了。 4、我的项⽬依赖⼀些jar包,我应该把他们放哪⾥?放源码库⾥? 5、这是我开发的第⼆个项⽬,还是需要上⾯的那些jar包,再把它们复制到我当前项⽬的svn库⾥吧 6、现在是第三次,再复制⼀次吧。 ----- 这样真的好吗? 7、我原创 2021-08-22 16:05:09 · 125 阅读 · 0 评论 -
JDBC进阶
JDBC的事务⽀持 JDBC的事务⽀持 事务的概念 当⼀个业务需求涉及到N个DML操作时,这个业务(或者时N个DML操作)当成⼀个整体来处理。在处理的过程中,如果有失败或异常,我们要回到业务开始时。如果成功处理,我们再将数据持久化到磁盘中。这样⼀个过程我们称之为⼀个事务。事务具有原⼦性。不可切割。 总结: 事务指逻辑上的⼀组操作,组成这组操作的各个单元,要么全成功,要么全不成功。 关键字: commit rollback savepoint 事务的特性(ACID) 原⼦性(Atomicity) 指事务原创 2021-08-22 16:01:31 · 230 阅读 · 0 评论 -
JDBC基础
需求 早期的数据库应⽤程序开发,因为没有通⽤的针对于数据库的编程接⼝,所以,开发⼈员需要学习相关数据库的API,才可以进⾏应⽤程序,这样增加了学习成本和开发周期。因此整个开发市场⼀直在呼吁有⼀套通⽤的编程接⼝ ODBC 因为有市场需要,微软定义了⼀组⽤于数据库应⽤程序的编程接⼝ODBC(open database connectivity)。这⼀套⽅案⼤⼤缩短了程序的开发周期,可以让开发⼈员只需要调⽤同⼀套编程接⼝,⽆需考虑具体实现。 ODBC分为四个部分: 1. 应⽤程序:开发⼈员所写的代码,原创 2021-08-22 15:56:29 · 169 阅读 · 0 评论 -
java关于⽹络编程
⽹络编程 所谓⽹络编程,指的就是在同⼀个⽹络中不同机器之间的通信 计算机之间通信需要的条件 IP地址 IP地址指的是互联⽹地址(Internet Protocol Address ) ,是联⽹设备与互联⽹之间的唯⼀标识,在同⼀个⽹段中,IP地址是唯⼀的 IP地址是数字型的,是⼀个32位的整数,通常将其分成4个8位的⼆进制数,每8位之 间⽤圆点隔开, 每个8位整数可以转换为⼀个0~255的⼗进制整数,例如:202.9.128.88 标准分类:分为IPV4和IPV6 IP地址使⽤范围分类 A类:保留给政府结构,原创 2021-08-14 11:05:55 · 325 阅读 · 0 评论 -
设计模式和反射
设计模式 定义 前⼈总结出来的对⼀些常⻅问题的解决⽅案,后⼈直接拿来解决特定问题⽽存在的解题思路。 分类 常⽤的设计模式:单例,⼯⼚,代理,适配器,装饰,模板,观察者等,⼀共有23种 第⼀:创建型模式:如何创建对象以及何时创建对象 包括: ⼯⼚模式(FACTORY METHOD) 抽象⼯⼚模式 建造(BUILDER)模式 代理模式(SINGLETON) 原型模式(Prototype) 第⼆:结构型模式:对象该如何组织以及采⽤什么样的结构更合理 包括: 适配器(Adapter)模式 合成(Composite原创 2021-08-14 11:03:21 · 385 阅读 · 0 评论 -
java关于JVM
JVM JVM是运⾏在操作系统之上的,它与硬件没有直接的交集。 JVM直接翻译为Java虚拟机但实际应该是Java虚拟机规范。 JVM体系结构概览 类加载器ClassLoader 类加载器, 负责加载class⽂件。 class⽂件在⽂件开头有特定的⽂件标示。 ClassLoader只负责class⽂件的加载, ⾄于它是否可以运⾏, 则由Execution Engine决定。 Car.class 相当于是我们编写的类模板, 封装着属性和⾏为, 但是.class⽂件是存储在物理内存中的。 我们通过Cla原创 2021-08-14 11:00:51 · 308 阅读 · 0 评论 -
java 中的NIO
NIO 概念 NIO: New IO。 Non-Blocking IO。 NIO 是JDK1.4的时候出现了⼀个新的IO, ⽤来替代传统的IO流。 NIO与IO有着相同的功能, 但是操作的⽅法不同。Java提供了⼀些改进输⼊/输出处理的新功能,这些新功能被统称为新IO(New IO 简称NIO),新增了许多⽤于处理输⼊/输出的类,这些类都被放在java.nio包以及⼦包下,并对原java.io中的很多类都以NIO为基础进⾏改写,新增了满⾜NIO的功能 NIO是基于通道(Channel), ⾯向缓冲区(Buf原创 2021-08-14 10:54:42 · 384 阅读 · 0 评论 -
java IO流进阶
缓冲流 缓冲流的简介 基本介绍 给普通的IO流, 套上⼀个缓冲区。 所有的使⽤缓冲流进⾏的读写操作, 都是和缓冲区进⾏交互的, 避免了频繁的IO操作。 这样⼀来, 带来的好处就是可以提⾼读写的效率。 这个缓冲区, 其实是⼀个数组。 缓冲流的作⽤ 为了提⾼读写的能⼒,本身没有读写的能⼒,要想进⾏读写就必须借助于字符流/字节流实现. 可以将缓冲流类⽐于催化剂或者⾼速的⼩⻋ 常⻅的缓冲流: BufferedInputStream : 缓冲字节输⼊流 BufferedOutputStream原创 2021-08-14 10:52:54 · 119 阅读 · 0 评论 -
java中IO流基础
文件操作 顾名思义, 操作磁盘上的某⼀个⽂件或者某⼀个⽂件夹。 可以对他们进⾏创建、 删除、 移动、 属性获取、 属性设置等操作。 但是, 并不包含读取⽂件的内容、 拷⻉⽂件。 在Java中, 使⽤ java.io.File 类描述⼀个⽂件, 或者是⼀个⽂件夹。 IO流 什么是IO流 IO流: Input/Output Stream 流: 指的是⼀串流动的数据, 在数据在流中按照指定的⽅向进⾏流动。 实现数据的读取、写⼊的功能。 **作⽤:**实现两个设备之间数据的传递 IO流的使⽤场景 使⽤F原创 2021-08-07 11:48:39 · 188 阅读 · 0 评论 -
java多线程高级
线程通信 线程通信-打印机打印实例 线程通信基本实现 实例:打印机打印 实现功能:不断输⼊不断输出 总结:需要给输⼊任务和输出任务同时加⼀把锁,保证两个任务之间是同步的给两个任务加⼀把锁:可以是desc或者Object.class 不建议使⽤Object.class:由于Object的使⽤范围太⼤,可能造成不必要的错误.desc合适,因为他只被当前的两个任务共享. 注意:对于当前的情况只给⼀个线程加锁,⽆法实现两个线程的同步. 线程通信功能优化 实例:打印机打印 功能:对⼀次输⼊⼀次输出代码的改进 总结:进原创 2021-08-07 11:43:56 · 186 阅读 · 0 评论 -
java多线程基础
多线程基础 为什么要使⽤线程? 在程序中完成某⼀个功能的时候,我们会将他描述成任务,这个任务需要在线程中完成. 串⾏与并发 如果在程序中,有多个任务需要被处理,此时的处理⽅式可以有串⾏和并发: 串⾏(同步):所有的任务,按照⼀定的顺序,依次执⾏。如果前⾯的任务没有执⾏结束,后⾯的任务等待。 并发(异步):将多个任务同时执⾏,在⼀个时间段内,同时处理多个任务。 并发的原理 其实所谓的并发, 并不是真正意义上的多个任务同时执⾏。 ⽽是CPU快速的在不同的任务之间进⾏切换。 在某⼀个时间点处理任务A, 下⼀原创 2021-08-07 11:38:38 · 157 阅读 · 0 评论 -
java中的Map集合
Map集合 Map API Map集合的遍历 使⽤keySet进⾏遍历 可以使⽤keySet()⽅法获取到集合中所有的键。 遍历存储了所有的键的集合,依次通过键获取值。 /** * 1. 使⽤keySet进⾏遍历 * @param map 需要遍历的集合 */ private static void keyset(Map<String, String> map) { // 1. 获取存储了所有的键的集合 Set<Strin原创 2021-08-07 11:35:45 · 160 阅读 · 0 评论 -
java中的Set集合
Set集合 HashSet与TreeSet的区别 HashSet:底层是哈希表,线程不安全的 TreeSet:底层是⼆叉树,线程不安全的 哈希表 哈希表简介 Set集合的两个实现类HashSet与LinkedHashSet,底层实现都是哈希表。 Hash,⼀般翻译做“散列”,也有直接⾳译为“哈希”的,它是基于快速存取的⻆度设计的,也是⼀种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为⼀个线性表,但是其中的元素不是紧密排列的,⽽是可能存在空隙。 散列表(Hash table,也叫哈希表),是根据键原创 2021-08-07 11:34:00 · 1216 阅读 · 0 评论 -
java中的泛型
泛型 泛型在类中的使⽤ 语法部分 定义: 在类名的后⾯, 紧跟上⼀对尖括号。 class Animal <T> {} class Dog <T, M> {} 泛型类的使⽤: 声明引⽤、实例化对象、被继承。 // 1. 声明引⽤ Animal<String> animal; // 2. 实例化对象 Animal<Integer> animal = new Animal<>(); // 3. 被继承 class Dog extends Animal&原创 2021-08-07 11:30:29 · 86 阅读 · 0 评论 -
java的List详解
List详解 ArrayList与LinkedList对⽐ 相同点: 都是List集合的常⽤的实现类。 对集合中的元素操作的⽅法基本⼀致。 都是线程不安全的 不同点: ArrayList底层实现是数组, 使⽤数组这种数据结构进⾏数据的存储。 LinkedList底层实现是双链表, 使⽤双链表这种数据结构进⾏数据的存储。 数组与链表结果特点⽐较: 数组实现功能时查找快,添加删除慢 链表查找慢,添加删除快 ArrayList与LinkedList的使⽤场景: 如果对集合中的元素, 增删操作不怎么频繁, 查询操作原创 2021-08-07 11:27:20 · 768 阅读 · 0 评论 -
java的lambda表达式
lambda表达式 Lambda表达式的简介 Lambda表达式的使⽤场景 通常来讲, 使⽤lambda表达式, 是为了简化接⼝实现的。 关于接⼝实现, 可以有很多种⽅式来实现。 例如: 设计接⼝的实现类、 使⽤匿名内部类。 但是lambda表达式, ⽐这两种⽅式都简单 Lambda表达式对接⼝的要求 虽然说, lambda表达式可以在⼀定程度上简化接⼝的实现。 但是, 并不是所有的接⼝都可以使⽤lambda表达式来简洁实现的。 lambda表达式毕竟只是⼀个匿名⽅法。 当实现的接⼝中的⽅法过多或者原创 2021-07-31 10:04:19 · 277 阅读 · 0 评论 -
java集合框架
集合框架 Java中的集合框架图 Java中的集合,⼤致分为两类。分别是 Collection 集合和 Map 集合。 其中,Collection是单列集合的顶级接⼝,Map接⼝是双列集合的顶级接⼝。 Collection集合 存储特点 Collection接⼝是单列集合的顶级接⼝。 在这种集合中存储的数据, 只占⼀列。 所有的元素, 直接存储于各种数据结构中。 Collection集合中, 没有下标的概念。 Collection API 接⼝⽅法 由于这个接⼝是单列集合的顶级接⼝, 在这⾥定义的所原创 2021-07-31 09:50:35 · 120 阅读 · 0 评论 -
java字符串和正则表达式
字符串和正则表达式 字符串 字符串的分类 不可变字符串: 对应的类:String. 特点:字符串本身不能发生改变,与指向字符串的引用无关. 直接使用"",创建的是不可变字符串 可变字符串: 对应的类:StringBuilder/StringBuffer. 特点:字符串本身可以发生变化,与指向可变字符串的引用无关 创建可变字符串 StringBuffer stringBuffer = new StringBuffer(“hello world”); 图示 字符串的内存分析 字符串, 是一个引用数据类型。 但原创 2021-07-31 09:44:22 · 572 阅读 · 0 评论 -
java基础
大数据 概念 海量数据,具有高增长率、数据类型多样化、一定时间内无法使用常规软件工具进行捕捉、管理和处理的数据集合。 大数据特征 大量(Volume):数据的大小决定所考虑的数据的价值和潜在的信息; 速度(Velocity):指获得数据的速度; 多样(Variety):数据类型的多样性; 价值(Value):合理运用大数据,以低成本创造高价值; 真实性(Veracity):数据的质量; java Java的特点 面向对象 Java 是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、原创 2021-07-16 08:31:41 · 243 阅读 · 0 评论 -
java流程控制
java流程控制 程序的执行结构 在Java中,程序的执行结构分为三种 **顺序结构:**代码从上往下,逐行依次执行。是程序执行的默认结构。 分支结构:程序在某一个节点遇到了多种向下执行的可能性,根据条件,选择一个分支继续 执行。 循环结构:某一段代码需要被重复执行多次。 分支结构 分支流程控制 - if 分支流程控制 - switch 程序逻辑: 检测某一个变量的值, 从上往下依次与每一个case进行校验、匹配 如果变量的值和某一个case后面的值相同,则执行这个case后的语句原创 2021-07-23 13:00:05 · 269 阅读 · 0 评论 -
java的方法
方法 方法的概念 Java的方法(Method)类似于其它语言的函数(Function),指一段可以直接被另一段程 序或代码引用的程序或代码。 一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。 面向过程语言中,整个程序就是由函数(相互调用)组成的 面向对象语言中,方法(函数)是类的组成部份,整个程序是由很多类组成的 通俗讲,方法就是解决某件事情的办法,比如 我要上班,可以选择 步行,骑车,开车,公原创 2021-07-23 21:28:33 · 94 阅读 · 0 评论 -
java的数组
数组 数组是什么 数组, 是一个数据容器。 可以存储若干个相兼容的数据类型的数据。 定义 1.数组中可以存储基本数据类型的数据, 也可以存储引用数据类型的数据。 2.数组的长度是不可变的,数组的内存空间是连续的。 一个数组一旦实例化完成, 长度不能 改变。 比较简单和引用数据类型 1.引用数据类型里面存储的是地址,并且这个地址是十六进制的数.简单数据类型存储的是值,是十进制的。 2.对于简单数据类型,直接在栈区的方法中开辟一块空间存储当前的变量,将要存储的数据直接放在这块空间里。 数组的声明 double[原创 2021-07-23 21:33:06 · 270 阅读 · 1 评论 -
java面向对象
面向对象 面向对象的特点 是一种符合人们思考习惯的思想 可以将复杂的事情简单化 将程序员从执行者转换成了指挥者 完成需求时: 先要去找具有所需的功能的对象来用。 如果该对象不存在,那么创建一个具有所需功能的对象。 类与对象分析 在面向对象的编程思想中, 着眼点在于找到一个能够帮助解决问题的实体, 然后委托这个实 体解决问题。 在这里, 这个具有特定的功能, 能够解决特定问题的实体, 就是一个对象。 由若干个具有相同的特征和行为的对象的组成的集合, 就是一个类。 类是对象的集合,原创 2021-07-23 21:39:12 · 154 阅读 · 0 评论 -
java的继承
继承 父类的抽取 在设计类的时候, 可以根据程序中需要使用到的多个具体的类, 进行共性的提取, 定义为父类。 将多个具体的类中相同的属性和行为提取出来到一个类中。 继承的特点(重点) 产生继承关系后, 子类可以使用父类中的属性和方法, 也可以定义子类独有的属性和方 法 Java是单继承, 一个类有且只能有一个直接的父类,可以有若干个间接的父类,一个父类可以 有0个或者多个子类,子类之间互不影响 使用继承,可以简化代码,提高代码的复用性,提高代码的拓展性,增加代码的健壮性,最重要 的原创 2021-07-26 19:28:19 · 472 阅读 · 0 评论 -
java的多态和抽象类
多态和抽象类 多态 原理 多态:在代码中描述是用父类的引用指向子类的对象 java程序运行分成两个阶段:编译,运行 编译阶段:从打开程序到执行运行之前—只能识别=前面的引用类型,不会识别=后面的对象 运行阶段:从运行开始—识别=后面对象,对象开始干活儿 动态机制:(了解) 类型:动态类型,动态绑定,动态加载 动态加载:我们在编译阶段不能确定具体的对象类型,只有到了运行阶段才能确定真正的干活儿 的对象. 多态就是典型的动态加载 在多态下只能直接调用父类有的方法,不能直接调用子类特有的方法 优点 可以提高代码的原创 2021-07-31 09:19:02 · 180 阅读 · 0 评论 -
java的接口和内部类
接口和内部类 接口 定义接口需要用到关键字interface 接口中可以定义: 属性 接口中的属性,默认都是静态常量,访问权限都是public。 方法 接口中的方法,默认都是抽象方法,访问权限都是public。 注意: 一般接口中不写成员变量,只写方法,相当于制定规则,所以又将接口称为方法列表 接口的作用 让java从单继承间接的实现了多继承,扩充了原来的功能,我们可以认为接口是类的补充. 接口和抽象类的异同 相同点 都可以编译成字节码文件。 都不能创建对象。 都可以声明引用。 都具备Object类中所定义原创 2021-07-31 09:20:29 · 165 阅读 · 0 评论 -
java异常和常用类和枚举
异常和常用类和枚举 包装类 基本数据类型与包装类型 定义:专门将简单数据类型的数据进行封装,形成的对应的类. 装箱拆箱 手动装箱 概念:由基本数据类型, 完成向对应的包装类型进行转换。 作用: 为了更好的存储 方式1: 可以通过每一个包装类的构造方法来完成。 在每一个包装类的构造方法中,都有一 个与之对应的基本数据类型作为参数的重载方法。 此时, 直接将需要包装起来的基本数据类型, 写到构造方法的参数中即可完成装箱。 Byte n1 = new Byte((byte)1); Short n2 = new原创 2021-07-31 09:29:02 · 417 阅读 · 0 评论
分享