Java EE
文章平均质量分 76
区块链之美
这个作者很懒,什么都没留下…
展开
-
JDK1.8新特性CompletableFuture总结
https://blog.csdn.net/finalheart/article/details/87615546https://www.jianshu.com/p/6bac52527ca4https://blog.csdn.net/u011726984/article/details/79320004原创 2020-07-01 09:41:13 · 634 阅读 · 0 评论 -
Object类有哪些方法,hashcode方法的作用,为什么要重写hashcode方法?
1.Object对象有哪些方法?下面,总结一下hashCode()方法和equals()方法。2.hashCode方法2.1.什么是hashCode?1、hashCode(散列码)是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值,也就是哈希码,哈希码是没有规律的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。在Java中,哈希码代表对象的特征。2、散列码可以是任意的整数,包括正数和复数。两个相等的对象要球返回相等的散列码原创 2020-06-21 10:35:25 · 926 阅读 · 0 评论 -
java.lang.Object 对象中 hashCode 和 equals 方法详解
1.Object对象有哪些方法?下面,总结一下hashCode()方法和equals()方法。2.hashCode方法2.1.什么是hashCode?1、hashCode(散列码)是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值,也就是哈希码,哈希码是没有规律的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。在Java中,哈希码代表对象的特征。2、散列码可以是任意的整数,包括正数和复数。两个相等的对象要球返回相等的散列码原创 2020-05-20 08:34:40 · 1893 阅读 · 0 评论 -
数据结构:数组、链表、栈、队列、堆
https://www.cnblogs.com/jimoer/p/8783604.html解释定义数据结构:数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。如果还是不太清楚下面会举例说明的。数据存储结构:简单的讲就是数据在计算机中的存储方式。常用的数据存储方式有两种:顺序存储,非顺序存储。顺序存储就是把数据存储在一块联系的存储介质(硬盘或内存等)中。反之就是非顺序存储咯。Java中的数组就是典型的顺序存储,链表就是非顺序存储。数转载 2020-05-14 19:06:47 · 1224 阅读 · 0 评论 -
JDBC数据库连接池的必要性
1.JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet、beans)中建立数据库连接、进行sql操作、断开数据库连接。 这种模式开发,存在的问题: (1)普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验...原创 2018-06-13 23:56:49 · 4461 阅读 · 0 评论 -
批量处理JDBC语句提高处理速度
1、当需要成批插入或这更新记录时,可以采用Java的批量更新机制,这一机制允许多跳语句一次性提交给数据库批量处理。通常情况下,比单独提交处理更有效率。2、JDBC的批量处理语句包括下面两个方法:(1)addBacth(String sql):添加需要批量处理的sql语句或是参数。(2)executeBatch():执行批量处理语句。3、通常会遇到两种批量执行sql语句的情况:(1)多条sql语句的...原创 2018-06-13 23:07:45 · 733 阅读 · 0 评论 -
JDBC数据库事务(二):数据库的隔离级别
1.对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,如果没有采取必要的隔离机制,就会导致各种并发问题:–脏读: 对于两个事物T1, T2, T1读取了已经被T2更新但还没有被提交的字段。之后, 若T2回滚,T1读取的内容就是临时且无效的。–不可重复读: 对于两个事物 T1, T2, T1 读取了一个字段, 然后T2更新了该字段.之后, T1再次读取同一个字段,值就不同了。–幻读: 对于...原创 2018-06-13 22:42:16 · 1165 阅读 · 1 评论 -
JDBC数据库事务(一)
1、在数据库中,所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态。2、为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务全部视为错误,所有从起始点以后的操作应该全部退回到开始状态(回滚)。3、事务的操作:先定义开始一个事务,然后对数据库修改操作,这时候如果提交(COMMIT),这些修改就永久...原创 2018-06-13 21:32:45 · 189 阅读 · 0 评论 -
JDBC中DAO层设计与实现
JDBC(全称:Java Data Base Connectivity)是java数据库连接简称 ,提供连接各种数据库的能力。JDBC API主要的功能1.与数据库建立连接;2.执行SQL语句;3.处理结果。JDBC关键字的使用1.DriverManager:依据数据库的不同,管理JDBC驱动;2.Connection:负责连接数据库并且担任传送数据库的任务;3.Statement:由Connec...原创 2018-06-11 23:13:11 · 4989 阅读 · 0 评论 -
JDBC处理二进制大对象BLOB
1、LOB对象2、MySql Blob介绍3、INSERT 或 GET BLOG 实现 /** * MySql 插入图片 * 插入 BLOB 类型的数据必须使用 PreparedStatement,因为BLOB类的数据无法使用字符串拼写。 * @param sql: INSERT INTO userinfos(userName,password,date,add...原创 2018-06-11 10:52:00 · 690 阅读 · 0 评论 -
JDBC获取插入记录的主键值
实现方案: /** * 实现: JDBC 返回插入记录的主键值 * 实现要求:前提是表的主键必须是自增长的 * @param clazz * @param sql: INSERT INTO userinfos(userName,password,date,address) VALUES(?,?,?,?); * @param args * @return */ publ...原创 2018-06-08 23:22:19 · 649 阅读 · 0 评论 -
Jdbc、Mybatis、Hibernate各自优缺点及区别
先比较下jdbc编程和hibernate编程各自的优缺点。1、JDBC 我们平时使用jdbc进行编程,大致需要下面几个步骤: 1、使用jdbc编程需要连接数据库,注册驱动和数据库信息; 2、操作Connection,打开Statement对象; 3、通过Statement对象执行SQL,返回结果到ResultSet对象; 4、使用ResultSet读取数据,然后通过代码转化为具...转载 2018-06-08 15:24:30 · 2702 阅读 · 0 评论 -
详解JDBC与Hibernate区别
JDBC与Hibernate在性能上相比,JDBC灵活性有优势。而Hibernate在易学性,易用性上有些优势。当用到很多复杂的多表联查和复杂的数据库操作时,JDBC有优势。相同点:◆两者都是JAVA的数据库操作中间件。◆两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭。◆两者都可以对数据库的更新操作进行显式的事务处理。不同点:◆使用的SQL语言不同:JDBC使用的是基于关系型数据...转载 2018-06-08 11:43:23 · 234 阅读 · 0 评论 -
JDBC连接数据库第三步:利用开源框架Dbutils查询数据库原理及实现方案
commons-dbutils-1.9.3.jar 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低, 并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。0、Dbutils的query()的实现原理:1、万变不离其宗,查询方法只不过是封装了结果集ResultSet转换为map或list的过程。2、具体实现方法...原创 2018-06-06 16:53:10 · 1054 阅读 · 0 评论 -
JDBC连接数据库第三步:Java利用反射机制将ResultSet结果集遍历到List中
1.基础篇1.1 反射反射基础:【Java基础之—反射(非常重要)】1.2 结果集结果集Statement:Statement,Statement和ResultSet,Java 中的resultset详解查询出来的结果集Statement的数据结构,可以看成数据库中一张表的结构,有 N 行 M 列,其中一行就是一条数据。resultSet.next():将光标从当前位置向前...原创 2018-06-05 19:40:49 · 3386 阅读 · 2 评论 -
JDBC连接数据库第二步:与数据交互 Statement 和 PreparedStatement
当获得了与数据库的连接后,就可以与数据库进行交互了。 获取数据库连接,参考上一篇文章。JDBC中Statement,PreparedStatement和CallableStatement接口定义了可用于发送SQL或PL/SQL命令,并从数据库接收数据的方法和属性。下表提供了每个接口定义,以及使用这些接口的目的的总结。表格来源:https://www.yiibai.com/jdbc/...原创 2018-06-05 15:45:28 · 943 阅读 · 0 评论 -
JDBC连接数据库第一步:获取连接Connection
废话不多说,先直接上代码:package com.study.jdbc.jdbc.create;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Driver;import java.sql.SQLException;import ja...原创 2018-05-29 16:41:56 · 25114 阅读 · 1 评论 -
JDBC连接数据库7个步骤
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1、JDBC所需的四个参数(user,password,url,driverClass)(1)user用户名(2)password密码(3)URL定义了连接数据库时的协议、子协议、数据源标识。 •书写形式:协议:子协议:数据源标识 协议:在JDBC中总是以jdbc开始 子...转载 2018-05-29 09:40:17 · 39175 阅读 · 5 评论 -
JAVA:类属性初始化的有趣儿情况
序 这是我之前遇到的一个问题,在这里分享给同僚;希望大家能避免这些错误;少走弯路。 问题 这个情况有些特殊,当时我在弄APP的设置模块;结果发现无论设置如何保存第二次获取值的时候都是初始值,跟踪了一下发现保存的时候的确是保存到文件了,那么这就奇葩了。想了一下问题肯定出在获取值的时候,跟踪了一下获取值的断点,发现获取的时候是之前保存的值,而在类的构造函数之后值却又成了初始值,这个是为啥? 百...转载 2017-05-12 21:44:07 · 875 阅读 · 0 评论 -
JAVA网络编程(3):Java编写在TCP网络连接上传递对象
要点: *(1)ObjectInputStream和ObjectOutputStream可以从底层输入流中读取 对象类型的数据和将对象类型的数据写入到底层输出流。 *(2)使用ObjectInputStream和ObjectOutputStream来包装底层网络字节,TCP服务器和TCP客户端之间就可以传递对象类型的数据。代码实现import java.io.*;import java.n原创 2017-05-20 17:23:38 · 2987 阅读 · 0 评论 -
Java中五种不同方法的创建对象
参考来源:【Java中五种不同方法的创建对】 http://www.jb51.net/article/89076.htm 【java对象的五种创建方式】 https://blog.csdn.net/pizipeng2/article/details/80580687 【Java对象创建方式及JVM对字符串处理】 http://www.cnblogs.com/xiaoxuetu/archive/20...转载 2018-06-05 19:19:23 · 289 阅读 · 0 评论 -
对泛型的理解
对泛型T、Class<T>、Class<?>的理解:首先Class类 ,普通的非泛型类Class。注意:class是java的关键字, 在声明java类时使用。Class类的实例表示Java应用运行时的类(class ans enum)或接口(interface and annotation)(每个java类运行时都在JVM里表现为一个Class对象,可通过类名.class...转载 2018-06-07 11:26:49 · 629 阅读 · 0 评论 -
守护线程与非守护线程
Java分为两种线程:用户线程和守护线程所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。守护线程和用户线程的没啥本质的区别:唯一的不同之处就在于虚拟机的离开:如果用户线...转载 2018-06-29 14:33:23 · 313 阅读 · 0 评论 -
Java设计模式:工厂模式
1、工厂模式介绍工厂模式:这种模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接...原创 2018-07-02 15:30:19 · 117 阅读 · 0 评论 -
Java调用scp,文件从本地复制到远程
//数据服务器的ip地址 private String dataServerIp = "192.168.123.123"; //数据服务器的用户名 private String dataServerUsername = "root"; //数据服务器的密码 private String dataServerPassword = "1234"; ...转载 2018-07-23 15:14:49 · 3072 阅读 · 0 评论 -
Guava RateLimiter源码解析
出处:Guava RateLimiter源码解析出处:基于redis的分布式RateLimiter(限流)实现出处:基于redis的分布式锁实现转载 2018-07-23 15:48:04 · 399 阅读 · 0 评论 -
【转载】详解hashCode()和equals()的本质区别和联系
详解hashCode()和equals()的本质区别和联系: https://www.jb51.net/article/124966.htmJava中的equals和hashCode方法详解: https://www.jb51.net/article/96138.htm探索Java中的equals()和hashCode()方法:https://www.jb51.net/article/11...转载 2018-08-13 16:34:17 · 383 阅读 · 0 评论 -
序列化和反序列化
1,序列化和反序列化的概念序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。2,什么情况下需要序列化? 当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;当你想用套接字在网络上传送对象的时候;当你想通过RMI传输对象的时候;3,如何实现序列化?实现Serializable接口即可4.Java对象中的什么属性是不能被序列化的?通常...原创 2018-04-02 14:19:17 · 456 阅读 · 0 评论 -
利用元祖返回多个不同的对象
【1】元祖简介 1、元祖的介绍:http://www.cnblogs.com/aspwebchh/p/6645732.html 2、自动装箱与拆箱:http://www.cnblogs.com/danne823/archive/2011/04/22/2025332.html【2】使用第三方Java元祖类库创建元祖【3】自定义元祖对象public class TestFlagBean<K , V>原创 2017-09-22 16:38:01 · 657 阅读 · 1 评论 -
JAVA:关键字之native
一. 什么是Native Method简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern “C”告知C++编译器去调用一个C的函数。“A native method ...原创 2017-05-28 17:58:16 · 408 阅读 · 0 评论 -
JAVA:构建字符串StringBuffer(一)
【1】构建字符串的方法方法一:字符串的连接方式对于字符串而言我们经常是要对其进行拼装处理的,在java中提高了三种拼装的方法:+、concat()以及append()方法。这三者之间存在什么区别呢?先看如下示例:public class StringTest { /** * @desc 使用+、concat()、append()方法循环10W次 * ...原创 2017-04-18 20:50:38 · 3493 阅读 · 0 评论 -
JAVA:构建字符串StringBuilder(二)
【1】StringBuilder【2】StringBuffer和StringBuilder的共同点StringBuffer和StringBuilder的共同点: 1、都是可变对象,对象内的字符缓存会随着拼接操作而动态扩展; 2、用来完成字符串拼接操作; 3、构造时传入内部缓存大小时,可以降低缓存扩展的次数,明显提升字符串拼接操作的效率; StringBuffer和Str...原创 2017-04-17 21:43:29 · 374 阅读 · 0 评论 -
JAVA:finally块中的代码什么时候被执行、执行的效果是什么?
1. 当try{}有return语句,finally{}有return语句直接上程序public class TestFinally{ public static int testFinally1() { try{ return 1; }catch(Exception e){ ret...原创 2017-05-14 11:44:46 · 2429 阅读 · 0 评论 -
JAVA:异常及异常处理
1.异常的概念异常是指程序运行期间出现的错误,而非编译时的语法错误。例如,程序要打开不存在的文件夹、网络连接中断、操作数越界、装载一个不存在的类、算数异常等。使用异常的目的在于通过使用少于目前数量的代码来简化大型、可靠的程序的生成,并且通过这种方式可以使你更加自信:你的应用没有未处理的错误。——《JAVA编程思想》如是说。补充: 示例1:public class Test...原创 2017-05-13 14:43:48 · 655 阅读 · 0 评论 -
JAVA:不同包(package)的类之间如何调用(import)
【1】问题描述Java由于应用了package的机制,将不同的类存放在不同 的类名空间中,如果不同包之间互相调用其中的类时,该怎么办呢,是直接调用还是有什么其他方法呢?【2】属于不同包的类之间的调用方法程序1:Test.javapackage org.it315.example;public class Test { public void print() ...原创 2017-04-07 15:43:04 · 94041 阅读 · 7 评论 -
JAVA:编译运行含有包层的类、同包和不同包类的相互访问、不同包子类和父类的访问权限
1.编译运行含有包层的类java中,为了确保类名的唯一性,以及方便组织自己的代码,引入了包package。package语句必须放在程序代码的第一行,除注释之外。在某一程序代码的首行,如果没有package语句,代码仍然可以编译,编译后的class文件被存放在默认包中,即与java文件同目录。《JAVA编程思想》中这样写到:“Java将这样的文件自动看作是隶属于该目录的默认包之中,于是...原创 2017-05-11 10:30:45 · 7463 阅读 · 0 评论 -
JAVA中类的public class与class的区别详解
1.类的访问权限为了控制某个类的访问权限,修饰词必须出现在关键字class之前。例如:public class Student {}在编写类的时候可以使用两种方式定义类: (A)public class定义类 (B)class定义类2.public class定义类如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致。被publ...原创 2017-05-10 11:48:20 · 66466 阅读 · 9 评论 -
eclipse使用技巧
作者: IT程序狮 链接:http://www.imooc.com/article/1009【1】快捷键1、提示:Alt+/ 2、格式化:ctrl+shift+f 3、输入一对的符号,如”“,(),会自动补全,输入后跳出:tab 4、查找某个方法被谁调用:选中方法名,ctrl+shift+g 5、查看某个类的继承关系:选中该类,ctrl+t 6、通过文件名称查找类或原创 2017-04-17 13:37:41 · 271 阅读 · 0 评论 -
JAVA——package语句、classpath环境变量配置
-包(package)的引入-包(package)语法与应用-类(.class)文件不在同一路径时的class环境配置【1】package的引入一个大型的软件系统项目中有很多的类,如果不对这些类进行分门别类的存放,在使用时非常困难,也会出现相同类名的冲突问题。Java是通过引入包(package)的机制,提供类的多层类命名空间,来解决以上的问题。使用包的主要原因是确保类名的唯一性。JAVA通过原创 2017-04-07 13:48:26 · 2335 阅读 · 0 评论 -
JAVA:Object类,equals方法
1. Object类Object类是java中的一个特殊的类,它是所有类的父类。如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类就默认继承了Object类。因此,Object类是java类层中最高层类,是所有类的超类。即,java的任何一个类都是它的子类。2.Object类的equals方法的应用由于所有类都是由object衍生出来的,所以Obje...原创 2017-05-09 21:08:53 · 1058 阅读 · 0 评论