自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

转载 50+SQL语句,性能优化,必收藏 !

52条SQL语句,性能优化,干货必收藏 !对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时

2021-10-21 20:03:17 2710 1

原创 JAVA多线程实现及四种线程池使用

Java多线程实现及四种线程池和new Thread的使用及差别线程的生命周期分为:new,runnable,running,block,termate.java多线程的几种实现方式:继承Thread类,重写run方法实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target通过Callable和FutureTask创建线程通过线程池创建线程前面两种可以归结为一类:无返回值,原因很简单,通过重写run方法,run方式的返回值是

2021-02-22 16:01:52 1330 3

原创 浅谈 collection.stream() 以及 collect() 方法

widgets:一个实体类的集合,类型为List<Widget>Widget:实体类getWidgetId:实体类中的get方法,为获取Widget的id

2020-03-18 16:48:34 5813

原创 SpringBoot 注解 整合 梳理

NO0、前言:注解的优势使用注解的优势: 1.采用纯java代码,不在需要配置繁杂的xml文件 2.在配置中也可享受面向对象带来的好处 3.类型安全对重构可以提供良好的支持 4.减少复杂配置文件的同时亦能享受到springIoC容器提供的功能NO1、SpringBoot 核心注解及其组成用过SpringBoot的人都知道。它的核心注解@SpringBootApplicatio...

2020-03-18 11:56:09 304

原创 Error: SQLCODE=-1585, SQLSTATE=54048, SQLERRMC=null, DRIVER=3.57.82,sqlcode=-727 sqlstate=56098

Error: SQLCODE=-1585, SQLSTATE=54048, SQLERRMC=null, DRIVER=3.57.82首先问题来源,是在两个不同的DB2数据库执行同一个SQL脚本报的错,开始以为是rownumber()系统共通函数有冲突问题,后来发现是临时表空间有问题;故作此章:首先,我原先要执行的部分脚本:SELECT rownumber() over(ORDER ...

2020-01-03 11:15:31 9914

原创 java.lang.IllegalStateException:null

原版本:it = newList.iterator(); while(it.hasNext()){ FileNoUploadDto dto = it.next(); for (int i = 0; i < fileUploadDtos.size(); i++){ if (dto.getVa...

2019-12-09 17:12:07 8569 2

原创 Oracle转换MySql之递归start with

Oracle转换Mysql之start with:oracle转mysql其实很多细节,这边就不一 一 描述了,这边先整理些“坎”吧!Oracle中start with … : select * from grade_group gg start with gg.group_code=#{groupCode} connect by gg.parent_id= prior gg.id order by gg.group_level转换为MySql为: SELECT

2021-07-23 14:55:35 2867

原创 反射以及反射获取对象属性注解值

前言JAVA不是动态语言,但JAVA具有一个突出的动态语言机制:反射的反射机制是指程序运行时动态自检的能力:能够获得任意一个类的全部信息,包含其属性和方法能够任意访问一个对象的属性和方法反射能让你执行一些正常情况下无法实现的操作:访问私有属性和私有方法不通过new关键字,而通过类名来实例化对象反射常用四个API:Class:表示反射的核心类Method:表示类的方法Filed:表示类的属性Constructor:表示类的构造方法获取calss对象//一:类

2020-11-20 15:04:58 1931

原创 iBatis向MyBatis 之SQL转换要点

前言他们都是优秀的持久层框架,MyBatis是现在最常用的持久层框架,可以动态地拼接sql语句,非常人性化,更适合逻辑复杂的sql;iBatis就是MyBatis前身,他们有很多相似的地方。传入参数iBatis: <select id="selectDeviceByWhere" parameterClass="Map" resultClass="BaseResultMap"> ...

2020-04-20 23:59:04 845

原创 浅谈 BigDecimal 之用法总结

前言float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。BigDecimal的初始化这里对比了两种形式,第一种直接value写数字的值,第二种用s...

2020-03-24 16:49:25 331

原创 浅谈 Redis 之常用命令及缓存原理

前言Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据...

2020-03-23 17:32:16 429

原创 如何将不同情况下的List带到SQL中进行判断操作

简单来说就是将List传到SQL语句中进行查询操作其实,这里将List传到SQL语句中进行查询,方法有很多,我这里只是记录我习惯用的一种方法,原因之初是因为我要判断的情况太多了,不方便全在SQL中进行操作。故此,现在前面代码中封装所需不同的List,然后将不同情况下的List分别传到后台SQL进行操作:1、首先,这里是Controller层方法: @ResponseBody @Reques...

2020-03-11 19:20:55 1327

原创 简述List去重五种方法

前言去重,对于很多场合必不可少。写此篇文章是因为在之前做某个画面中,我在数据库中进行去重,影响效率,所以记录此文,已做参考:Num1: 使用 java8 新特性stream进行List去重 public static void main(String[] args) { List list = new ArrayList(); list.add(10); ...

2020-01-13 16:32:58 3469

原创 浅谈 ArrayList 和 LinkedList 使用时的一些坑

前言我们大体都知道ArrayList和LinkedList的直观区别:1.ArrayList 底层实现就是数组,且ArrayList实现了RandomAccess,表示它能快速随机访问存储的元素,通过下标 index 访问,只是我们需要用 get() 方法的形式, 数组支持随机访问, 查询速度快, 增删元素慢;2.LinkedList 底层实现是链表, LinkedList 没有实现 Ran...

2020-01-13 11:57:11 486

原创 this license ??? has been cancelled

前言,我们常用的某工具到期了,需要更换啥的时候,报 this license ??? has been cancelled,如果换了很多还是不解决问题就要考虑,是否hosts文件里缺少东西了,废话不多说,解决办法如下:1.首先找到hosts文件,地址:C:\Windows\System32\drivers\etc\hosts2.在hosts文件中,加入 0.0.0.0 account.j...

2020-01-10 14:14:31 1973 4

原创 浅谈前端Debug调试方法

前言我使用的是chrome浏览器,开发工具为IDEA,我做的是JAVA开发,但是经常在开发过程需要前台调试,之前一直懵懵懂懂,故此做下笔记,以供参考。调试菜单栏介绍快捷键Ctrl + Shift + i ,打开调试菜单栏,如下图:在此画面中,我常用的是前四个:Elements(要素)、Console(控制台)、Sources(起源)、Network(相互关系);下面详细解释下各个画面的操作...

2020-01-09 11:48:02 2678 1

转载 深入浅出:进程与线程?如何实现多线程的安全?

什么是线程安全?线程安全如何实现?什么是进程?电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。比如下图中的QQ、酷狗播放器、电脑管家等等。在这里插入图片描述什么是线程?进程想要执行任务就需要依赖线程。换句话说,就是进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。那什么是多线程?提到多线程这里要说两个概念,就是串行和并行,搞清楚这个,我们...

2020-01-08 15:37:27 177

原创 Tomcat 启动报:socket closed,已解决

问题背景:正在项目debug,工具到期了,接着找破解码,重新启动项目发现报:socket closed。。。。。。解决方案:一、简单方法:找到任务管理器,把javaw都结束进程,这样简单直接,但也有些弊端,需要重启很多关于javaw的等;二、精确查找占用端口、进而关闭即可:windows+R 进入 cmd 命令窗口 , 输入 netstat -ano;找到对应的端口号进程(...

2020-01-08 11:49:35 6766

转载 row_number() over(partition by 分组列 order by 排序列 desc)

语法格式:row_number() over(partition by 分组列 order by 排序列 desc)row_number() over()分组排序功能:在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。例一:表数据:create table TEST_ROW_NU...

2019-12-13 15:19:15 1088

原创 Oracle和DB2的区别:

最近公司原理项目使用DB2,现在要求兼容Oracle,故此作此章,虽然千篇一律,但个人谨以此为记:1.配置文件修改:1、spring-jdbc.xml 【<property name="dialectClass" value="com.joyintech.tams.framework.paginator.dialect.DB2Dialect"></property&g...

2019-12-13 14:51:27 1187

原创 数据库优化和SQL中一些注意事项

给DB2数据库建立索引脚本:1).在某张表建立单个索引:CREATE INDEX CUSTOMER_IDX_01 ON CUSTOMER (C_FIRST_NAME ASC);其中表为:CUSTOMERCUSTOMER 建立索引: CUSTOMER_IDX_01 需要查询字段:C_FIRST_NAME 自增:ASC// 注意!!!:数据库执行建立索引脚本后需要添加CALL SYS...

2019-12-13 10:05:15 166

原创 时间戳与时间之间的转换

时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。1.Java中转换:时间戳转换为时间:Long timeStamp = System.currentTimeMillis(); //获取当前时间戳System.out.println(timeStamp);SimpleDateFormat sdf=new...

2019-12-12 17:44:49 6531

原创 Foreach遍历删除,更改时注意事项

用foreach遍历时,在remove,add方法经常会报异常:Process finished with exit code 1public static void main(String[] args) { List<String> list = new ArrayList<String>(); list .add("a"...

2019-12-10 17:33:05 616

原创 List遍历循环三种方式

1.简单for循环:// porUnitList为获取的集合:if(porUnitList.size()>0){ for(int i=0;i<porUnitList.size();i++){ Double prolin=porUnitList.get(i).getSecurityCost(); } }2.foreach遍历:public Map&...

2019-12-06 11:46:48 998

原创 IDEA中常用的快捷方式以及几个常用Linux快捷键

IDEA在Debug中常用的快捷方式选中需要返回值区域: Ctrl+U (或者在debug中单机鼠标右键,选中需要返回值区域,点击Evaluate Expression…即可获得所需返回值结果)快速根据方法跳到SQL: Ctrl+H查看最近文档 : Ctrl+ELinux快捷键cat /etc/passwd 查看所有用户ps -ef | grep ssh ...

2019-12-06 11:12:31 407

原创 将字符串数组“str1,str2,....”转换为(‘str1’,‘str2’,...)以便于数据库进行in查询

将字符串数组“str1,str2,…”转换为(str1‘’,‘str2’,…)以便于数据库进行in查询if (params.get("portfolio_code") != null) { String str = StringUtil.genInStr(params.get("portfolio_code").toString()); param...

2019-12-06 11:00:44 257

原创 将前台传来的数组"["ZQ","GP"]"转换为"ZQ,GP"

将前台传来的assetKind值"[“ZQ”,“GP”]“转换为"ZQ,GP”1.这里从前台获取的assetKind值为"[“ZQ”,“GP”]"类型;if(map.get(“assetKind”)!=null){//这里先将获取到的map转换为list集合;List assetKindList = JSON.parseArray(map.get(“assetKind”).toStrin...

2019-12-06 10:53:21 247

原创 数据库表结构改动的时候除了脚本之外必须加一句

数据库表结构改动的时候除了脚本之外必须加一句CALL SYSPROC.ADMIN_CMD('REORG TABLE MARKET_RATEPRICE')-----MARKET_RATEPRICE指的是表名,改动哪个表,就写哪个表名

2019-12-06 10:43:09 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除