自定义博客皮肤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)
  • 收藏
  • 关注

原创 SQL 性能起飞

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

2021-11-09 12:30:26 132

原创 java 使用ReentrantLock与Condition实现简单的消息队列

import java.util.LinkedList;import java.util.Queue;import java.util.Random;import java.util.Scanner;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/** * @author luocc */public class ConditionTest { .

2021-08-18 10:39:26 212

原创 【程序员思维】用两个鸡蛋判断鸡蛋在多少楼层扔下不会碎

题目:如果你有两个鸡蛋,并且想搞清楚在不摔破鸡蛋的前提下最高能从多高的地方往下扔鸡蛋,你会采取怎样的做法?最优的解决方案是哪种?解题思维:如果鸡蛋刚好在n层碎掉,那么说明鸡蛋在n-1层不会碎。设 楼层高度为m层 ,先用第一个鸡蛋在m/2层扔下1)如果碎掉,即最坏可能,第二个鸡蛋只能从1层到(m/2-1)层继续依次扔下,测试刚好碎掉的楼层n,这样需要操作n次2)如果未碎掉,则我们再将...

2021-08-05 13:57:53 1729

原创 Redis 进阶

这一块内容建议结合教学视频与官网进行学习,这里只提及一些关键词的说明主从复制Replication一般搭建redis集群时使用,集群搭建

2021-08-05 11:26:06 460

原创 Redis 数据类型与使用命令大全以及Java使用

基础数据类型具体详情可直接访问Redis官网,这里只做命令总结String 二进制安全的字符串Lists: 按插入顺序排序的字符串元素的集合。他们基本上就是链表(linked lists)。Sets: 不重复且无序的字符串元素的集合。Sorted sets (ZSets),类似Sets,但是每个字符串元素都关联到一个叫score浮动数值(floating number value)。里面的元素总是通过score进行着排序,所以不同的是,它是可以检索的一系列元素。(例如你可能会问:给我前面10个或

2021-07-28 14:33:57 287 1

原创 Docker 安装Redis

安装与部署 (Docker 安装Redis)1 获取最新版的 Redis 镜像这里我们拉取官方的最新版本的镜像:$ docker pull redis:latest2 查看本地镜像使用以下命令来查看是否已安装了 redis:$ docker images在上图中可以看到我们已经安装了最新版本(latest)的 redis 镜像。3、配置文件redis.conf# Redis配置文件样例# Note on units: when memory size is needed, i

2021-07-21 23:44:33 111

原创 java面试题知识点整理(五 对象拷贝)

1. 为什么要使用克隆?克隆可以基于原型实例,进行复制对象,并且不影响原型对象优点 : 不需要new 实例对象,再逐一初始化参数。(Java 中 clone 是 native 方法,克隆使用也非常快)2. 如何实现对象克隆?实现首先需要克隆的类 要实现Cloneable,使用类对象 调用 Object#clone()注意:不实现Cloneable,使用clone() 会抛出CloneNotSupportedException。 类重写clone(),需要调用super...

2021-06-30 17:24:18 125

原创 LRU缓存,基于哈希表与链表实现

public class LRUCache<K,V> { class DLinkedNode{ K key; V value; DLinkedNode prev; DLinkedNode next; public DLinkedNode() {} public DLinkedNode(K _key, V _value) {key = _key; value = _value;} }

2021-05-24 16:49:48 144

原创 js时间类操作整理

js篇Date对象常见对象方法//var d = new Date() // 当前获取当前时间//Tue Feb 09 2021 13:21:03 GMT+0800 (中国标准时间)d.getFullYear() // 根据时间获取 年//2021d.getMonth() // 根据时间获取 月 0-11 对应 1到12月//1 对应2月d.getDate() // 根据时间获取 日//9d.getDay() // 根据时间获取周 0-6 对应 星期日、一、二、三、四

2021-02-09 14:33:41 190

原创 动态规划练习入门(斐波拉契数列)

算法这一块,动态规划问题的一般形式就是求最值,在计算机问题上应用比较多,需要多探究,这是我对动态规划的一个练习入门-斐波拉契数列/** * 斐波拉契 练习动态规划 * { 1 , n=1 | n=2 * f(x) = { * { f(x-2) + f(x-1) * @author */public class Fibonacci { /** * 暴力递归 直接根据方程进行递归, * 但是这种方法 会重复计算多次 * 如

2021-01-28 17:25:48 115

原创 基础数据int与包装类Integer使用总结

取值问题默认值 : int = 0 ,Integer = null范围:两者均为 -231 (-2147483648)~ 231-1 (-2147483648)比较相等int == int : 基本比较使用 ==int == Integer : Integer 默认会拆包成基础数据,对两者数值进行比较,但是Integer 如果为 null ,则会抛出NullPointerException int a;Integer b; a == b //throw NullPointerExc

2021-01-18 14:16:23 368

转载 设计模式(创建型)

创建型单例(Singleton)确保一个类只有一个实例,并提供该实例的全局访问点。实现Ⅰ 懒汉式-线程不安全以下实现中,私有静态变量 uniqueInstance 被延迟实例化,这样做的好处是,如果没有用到该类,那么就不会实例化 uniqueInstance,从而节约资源。这个实现在多线程环境下是不安全的,如果多个线程能够同时进入 if (uniqueInstance == null) ,并且此时 uniqueInstance 为 null,那么会有多个线程执行 uniqueInstance

2021-01-14 18:03:00 98

转载 设计模式-设计原则

设计模式设计原则 S.O.L.I.D1. 单一责任原则 SRP (The Single Responsibility Principle )修改一个类的原因应该只有一个。换句话说就是让一个类只负责一件事,当这个类需要做过多事情的时候,就需要分解这个类。如果一个类承担的职责过多,就等于把这些职责耦合在了一起,一个职责的变化可能会削弱这个类完成其它职责的能力。2. 开闭原则 OCP (The Open Closed Principle )类应该对扩展开放,对修改关闭。扩展就是添加

2021-01-07 18:01:59 160

原创 Java 切换win10壁纸

选择壁纸图片以图片或幻灯片指定一张图片或文件夹,具体操作(省略)使用JAVA从网上下载图片注 : 这里采用了360 图库 apiimport cn.hutool.json.JSON;import cn.hutool.json.JSONArray;import cn.hutool.json.JSONObject;import cn.hutool.json.JSONUtil;import javax.imageio.ImageIO;import java.awt.image.Buff

2021-01-06 18:32:49 432

原创 算法与数据结构(算法)

算法时间复杂度T(n) = O(f(n)) 大O计算法 代码执行次数最多原则进行计算1.O(1) 常量级可数的量时即为O(1) 如循环次数为100次也为O(1)2.O(n) 线性级时间复杂度根据n增长而增长3.O(log2n)、O(nlog2n) 对数级执行x次大于n时,2x=n -> x=log2 nwihle(i<n){ i = i*2 }空间复杂度1.O(1) 常量级可数的量时即为O(1) 如int i = 0;2.O(n) 线性级

2021-01-05 16:54:17 465

原创 JAVA面试题整理大全 (四、反射)

反射1. 什么是反射?在运行状态中,都能够查看/调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2. 什么是 Java 序列化?什么情况下需要序列化?3. 动态代理是什么?有哪些应用?4. 怎么实现动态代理?...

2021-01-04 11:05:56 173

原创 算法与数据结构(java数据结构)

数据结构:存储数据的结构算法:操作数据的方法 如何操作数据效率高,更节约资源数据结构可分为 线性结构、树形结构、图动画效果线性表数据像线一样排列 主要有:数组、链表、队列、栈等数组线性表结构,用一组连续的内存空间来存储相同类型的数据如 [1,2,3,4,5,6,7,8,9…,n]逻辑结构:数组a有n个元素,可表示为(a1,a2,a3..an)物理结构:在连续的内存空间存储数组,设置每个元素的下标进行查找数据访问: a[i] = bassAdd.

2020-12-31 14:10:04 289

原创 MultipartFile上传附件文件名处理记录

getOriginalFilename() 获取原始文件名。在chorme中获取是文件名+后缀,在IE模式中获取的是路径+文件名+后缀。如 文件路径 D:/temp/1.txtchorme上传文件,getOriginalFilename() == “1.txt”;IE模式上传文件,getOriginalFilename() ==“D:/temp/1.txt”所以要对文件名要进行统一处理,避免文件名处理问题。for (MultipartFile file:files) { Stri

2020-12-22 10:39:46 1375 2

原创 SpringBoot-监控Druid数据源整合

1.介绍  Druid是阿里巴巴开源平台上一个数据库连接池实现,它不但结合了C3P0、DBCP、PROXOOL等数据库连接池的优点,同时还加入了日志监控,可以分别监控DB池连接和SQL的执行情 况,是一款针对监控而生的数据库连接池2.添加POM依赖  添加druid启动场景<!-- druid连接池 --> <dependency> <groupId>com.alibaba</groupId>

2020-08-14 16:51:51 176

原创 JAVA面试题整理大全(三、容器)

18. Java 容器都有哪些?1)Collection:一个独立元素的序列,这些元素都服从一条或者多条规则。 List必须按照插入的顺序保存元素,而set不能有重复的元素。Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同)。2)Map:一组成对的“键值对”对象,允许你使用键来查找值。

2020-08-07 13:18:14 198

原创 Springboot整合Mybatis-Plus使用总结(mybatis 坑补充)

前言mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。...

2020-08-04 14:16:42 1218 1

原创 自学廖雪峰教程,Python学习笔记(一)

基础:#一般函数print("str","str1") #打印函数 输出-> str str1input("这里是输入提示:") #输入字符串 可用 int()强转chr(20000) #转换字符ord("一") #转化字符编码bin(22) #二进制oct(22) #八进制hex(22) #十六进制b'ABD'.decode('ascii') encode('ascii') # str与bytes互转 含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编

2020-07-02 09:34:13 344

原创 web前端开发---搭建vue项目环境

一、环境搭建1.node环境安装Windows下安装Node.js32位安装包下载地址:https://nodejs.org/dist/v8.12.0/node-v8.12.0-x86.msi64位安装包下载地址:https://nodejs.org/dist/v8.12.0/node-v8.12.0-x64.msi安装node 点击 next --> instal...

2019-09-11 10:42:37 182

原创 JAVA面试题整理大全(二、JAVA基础)

Java 基础1. JDK 和 JRE 有什么区别? JRE: Java Runtime Environment JDK:Java Development KitJRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。JDK顾名思义是java开发工具包,是程序员使...

2019-04-10 15:26:13 309

原创 JAVA面试题整理大全(一、模块介绍)

整理的面试主要包括十九块模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。适宜阅读人群: 需要面试的初/中/高级 Java 程序员...

2019-04-10 13:59:02 733

原创 mybatis批量操作(增删改)sql语句

批量插入对应sqlinsert into tabelname(colum1,colum2...) values(aa,aa...),(bb,bb...) <!-- 批量插入数据 --> <insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="tru...

2018-11-10 14:55:08 1217

原创 约束和索引的区别

 约束Constraint约束被 DB2 Universal Database(DB2 UDB) 用来对数据业务规则和数据完整性进行实施、维护。约束的作用范围仅限在当前数据库,通过检索‘数据库目录’和‘命令方式’(select * from user_constraints)可以查看到约束信息。如果想方便、快捷的访问约束信息,Control Center也是种方式。约束可以被当做数据库对象...

2018-09-13 14:32:15 964

转载 SQL Server,MySQL,Oracle三者的区别

目录1 简介1.1 Oracle1.2 SQL Server1.3 MySQL2 主要区别2.1 客户端和命令窗口2.2 市场占有率及其他2.3 Oracle也与MySQL操作上的一些区别1 简介1.1 OracleOracle 能在所有主流平台上运行(包括Windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发...

2018-07-30 15:50:45 133

空空如也

空空如也

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

TA关注的人

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