
JAVA基础
我的世界+1
这个作者很懒,什么都没留下…
展开
-
JDK proxy 与 CGLIB proxy
CGLib 和 JDK 动态代理对比1.JDK 动态代理是实现了被代理对象的接口,CGLib 是继承了被代理对象。2.JDK 和 CGLib 都是在运行期生成字节码,JDK 是直接写 Class 字节码,CGLib 使用 ASM框架写 Class 字节码,Cglib 代理实现更复杂,生成代理类比 JDK 效率低。3.JDK 调用代理方法,是通过反射机制调用,CGLib 是通过 FastClass 机制直接调用方法,CGLib 执行效率更高4.cglib实现是实现MethodIntercepto原创 2020-05-14 16:30:30 · 269 阅读 · 0 评论 -
关于Oracle数据库同义词的讲解
、定义同义词顾名思义,是数据库方案对象的一个别名。这里的数据库方案对象指表、视图、序列、存储过程、包等。二、同义词的好处1、不占内存空间,节省大量的数据库空间2、简化了数据库对象的访问3、提高了数据库对象访问的安全性4、扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;同义词可以创建在不同一个数据库服务器上,通过网络实现连接三、创建同义词语法crea...原创 2019-11-04 11:11:29 · 391 阅读 · 0 评论 -
(Spring中资源的加载Resource)默认加载全部配置文件*.properties
默认加载全部的配置文件(完整代码路径:https://blog.youkuaiyun.com/zhaoyunfei1/article/details/97015274)Spring中资源的加载是定义在ResourceLoader接口中的,它跟前面提到的抽象资源的关系如下:ResourceLoader的源码package org.springframework.core.io;impo...原创 2019-07-23 15:11:20 · 2731 阅读 · 0 评论 -
mybatis中"![CDATA[]]"的作用
在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。<![CDATA[ ]]> 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"<"字符 <=和"&"字符...原创 2019-08-13 15:47:56 · 403 阅读 · 0 评论 -
数据库中的删除有多少种方式,分别是什么,各有什么不同?
1.DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。2.TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。TRUNCATE 只能对TABLE;DELETE可以是table和view...原创 2019-08-14 15:22:05 · 1202 阅读 · 0 评论 -
bigDecimal的加减乘除,小数位保留,小数位截取
首先是bigdecimal的初始化 BigDecimal num1 = new BigDecimal(0.005); BigDecimal num2 = new BigDecimal(1000000); BigDecimal num3 = new BigDecimal(-1000000); //尽量用字符串的形式初始化 ...原创 2019-09-10 18:00:53 · 18692 阅读 · 0 评论 -
js中多个数字运算后值不对
1.乘法函数2.除法函数3.加法函数4.减法函数1.乘法函数 /**乘法函数,用来得到精确的乘法结果*说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。*调用:accMul(arg1,arg2)*返回值:arg1乘以arg2的精确结果*/function accMul(a...转载 2019-09-19 15:33:08 · 808 阅读 · 0 评论 -
前后台数据传输压缩(前后台都压缩)
目录传回数据的压缩Response:传入数据的压缩request(前台后台统一压缩方式后台进行解压):配置压缩数据生效:传回数据的压缩Response:package com.pds.report.core.config.mvc;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;im...原创 2019-09-20 11:49:09 · 3985 阅读 · 0 评论 -
oracle导入excel和txt数据
目录1.准备数据:在excel中构造出需要的数据2.将excel中的数据另存为文本文件(有制表符分隔的)3.将新保存到文本文件中的数据导入到pl*sql中4.在configuration中进行如下配置(格式可能不对,需要自己调整)5.点击data to oracle,选择将要导入数据的表,并在fields中将文本中的字段与表中的字段进行关联(中文软件叫到oracle数据)...原创 2019-09-23 19:22:21 · 590 阅读 · 1 评论 -
Oracle按指定字段值排序
需求:对字段里边的值,按照值的内容进行排序方法一使用decode函数处理,将值转变成统一的样式,这在按asc/desc排序select t.* from demo t order by decode(t.num,-1,99,t.num) asc;方法二使用case … when … 处理,当时,让其变大,与方法一同理select t.* from demo t orde...原创 2019-09-29 11:36:53 · 2464 阅读 · 0 评论 -
@NotNull :@NotEmpty @NotBlank :@NonNull:@Nullable 的区别
@NotNull : 用在基本类 型上 不能为null 但可以为空字符串 @NotEmpty : 用在集合类上 不能为空 并且长度必须大于0 @NotBlank :只能作用在String上,不能为null,而且调用trim()后,长度必须大于0 @NonNull:在方法或构造函数的参数上使用,生成一个空值检查语句 @Nullable 表示定义的参数可以为空....原创 2019-07-23 10:57:16 · 2155 阅读 · 0 评论 -
jenkins项目构建设置
1原创 2019-07-25 18:25:00 · 187 阅读 · 0 评论 -
Jenkins安装与配置
目录1.什么是Jenkins2.Jenkins安装3.Jekins系统设置4.Jekins工具设置5.Jekins插件安装1.什么是JenkinsJenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用...原创 2019-07-25 15:56:54 · 182 阅读 · 0 评论 -
并发
目录多线程锁并发框架线程安全并发容器和框架Java中的锁并发工具多线程java中有几种方法可以实现一个线程? 继承Thead 和 实现Runnable, 其实Runnable也是用Thead对象这run里调用 Runnable的方法 2.如何停止一个正在运行的线程? 使用Thead的中断和设置共享变量,两者都需被停止的线程...原创 2019-07-10 11:24:06 · 204 阅读 · 0 评论 -
如何使用阻塞队列实现一个生产者和消费者模型
如何使用阻塞队列实现一个生产者和消费者模型?请写代码使用基于数组的阻塞队列,有限次取水果和放水果package com.tom.jdk5.concurrent.collections;import java.util.concurrent.BlockingQueue;import java.util.concurrent.LinkedBlockingQueue;/*******...原创 2019-07-10 11:57:31 · 584 阅读 · 0 评论 -
如何实现一个流控程序,用于控制请求的调用次数?
package com.pds.ThreadPool;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;import java.util.concurr...原创 2019-07-10 12:05:11 · 552 阅读 · 0 评论 -
Collections.unmodifiableList方法的使用与场景
在公司接触到Collections.unmodifiableList(List<? extends T> list)) 觉得用法挺特殊的,所以学习了下,简单而言,看名字就知道,将参数中的List返回一个不可修改的List.觉得以下这篇文章写得很好,说 明了它的应用场景。-------------------------------------------------------...原创 2019-07-11 15:02:17 · 351 阅读 · 0 评论 -
将一个数组分成2个数组,使得2个数组的差值最小
/** * 用java写个程序,将一个数组分成2个数组,使得2个数组的差值最小 * 思路是: 1).先求出数组的总和sum, sum/2=mid 2).然后将数组的元素跟mid比较,取出跟mid最接近的元素,放在第一个小数组里,然后在原来数组删除刚刚被取出的元素,更新原来数组 3).接着再取出离mid最近的元素,放在第二个小数组,在原数组中删...原创 2019-07-16 16:56:36 · 11271 阅读 · 5 评论 -
默认加载全部配置文件*.properties
package com.pds.PropertiesLoad;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;import org.springframework.beans.fac...原创 2019-07-23 17:52:39 · 476 阅读 · 0 评论 -
单例模式获取配置文件.properties
package com.pds.WebConfig;/** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2008</p> * * <p>Company: </p> * * @a...原创 2019-07-23 17:55:28 · 641 阅读 · 0 评论 -
IOUtils.closeQuietly:在finally中关闭流时不需要再catch一遍IOException
在使用 stream 的时,往往要 try catch IOException。eric教导我要把流的关闭放到 finally 中去写,并且在 close 之前要判断一下是否为 null。但是 stream.close() 也会 throw IOException,这就导致在 finally 中 也需要 try catch 一下,于是代码就很长。如下: byte[] data = new b...转载 2019-07-23 18:38:28 · 2783 阅读 · 0 评论 -
Linux三大常见软件安装(java,tomcat,mysql)
一\安装jdk1\下载linux对应版本的jdk安装包 jdk-8u131-linux-x64.tar.gz2\把安装包上传到linux服务器上 \root3\首先确认一下你的linux服务器上面是否有安装过jdk rpm -qa|grep java rpm -qa|grep jdk 如果查询到已经安装过jdk就卸载java rpm -e --n...原创 2019-07-17 20:59:13 · 162 阅读 · 0 评论 -
Nginx整合tomcat笔记
Nginx概述与安装 Nginx概述 Nginx是一款高性能的、轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上Ngin...原创 2019-07-17 21:13:40 · 393 阅读 · 0 评论 -
位运算符 >> ^ ~ & |
大多数语言都提供了按位运算符,按位运算符在c,c++等语言中运用广泛,而在JS,AS等脚本语言中则没有太多的应用例子,有时候,适当的使用按位运算符会取得很好的效果。下面根据自己的认知简单的谈一下java中的位操作使用(同样适用于其他语言),如果有错误,欢迎指正(本文中所有示例,都为1字节8位,具体使用中位数因所使用的编程语言不同,而不同,java int型为4字节32位,位数不同会导致计算结果不...原创 2019-07-10 10:26:04 · 118557 阅读 · 9 评论