- 博客(224)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 12.优化数据库&优化SQL语句&索引
一、如何优化数据库?第一、优化索引、SQL语句、分析慢查询第二、设计表的时候严格按照数据库的设计范式来设计数据库第三、我们可以加上redis缓存,将经常被访问到的数据,但是不需要经常变化的数据放入至redis缓存服务器里面,这样的话能够节约太强盘I/0(昨天)第四、还可优化硬件,在硬件层面,我们可以使用更好的一些硬盘(固态硬盘),使用一些磁盘阵列技术(raid 0,raid1,raid5)...
2019-11-01 16:08:07
252
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 13.数据库的索引
一.索引的定义索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引的方式与您使用书籍中的索引的方式很相似:它搜索索引以找到特定值,然后顺指针找到包含该值的行。 在数据库关系图中,您可以在选定表的“索引/键”属性页中创...
2019-10-30 19:48:36
286
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java内存分区
Java虚拟机所管理的内存将包括以下几个运行时数据区域:线程共享区:方法区、堆线程私有区:虚拟机栈、本地方法栈、程序计数器一丶1.程序计数器:是一块较小的内存空间,可以看作当前线程所执行的字节码的行号指示器。java多线程就是通过对线程的轮流切换并分配处理器的执行时间的方式来实现的,在任意时刻,一个处理器都只会执行某一个线程中的指令。所以每条线程为了切换后能恢复到正确的执行位置,每条...
2019-07-07 09:48:26
614
原创 工作面试题
1.类加载机制点击跳转资料双亲委派模型的作用:(1)涉及到沙箱安全机制,假如开发者自己写了一个和JDK同名(类路径和类名一模一样)的类如java.lang.Integer.java,一旦类似这种同名类被加载问题就出现了,加载器不知道加载哪一个Integer类,有了双亲委派机制就能保证加载的是JDK自己的Integer,这也是JDK设计者为了防止核心类库随意或者恶意篡改。(2)双亲委派避免了一个类被重复加载,父加载器加载过的目标类不会被子加载器再加载一次,保证了类加载的唯一性。2.JVM调优参数
2022-05-26 21:50:28
118
原创 spring boot配置https访问
1.Spring Boot 开启https访问(配置SSL证书)开启文档2.配置http协议跳转httpspackage com.dingsheng;import org.apache.catalina.Context;import org.apache.catalina.connector.Connector;import org.apache.tomcat.util.descriptor.web.SecurityCollection;import org.apache.tomcat.ut
2022-05-25 15:38:01
189
原创 mysql查询去除重复记录
mysql查询去除重复记录1:使用distinctselect distinct name from a where statesign=0查询表a中的name字段,去除重复记录2:使用group byselect name from a where statesign=0 group by name查询表a中的name字段,分组,去除重复记录distinct使用时要放在第一个位置否则会报错...
2021-01-26 20:49:12
506
原创 5.springboot自动装配的实现原理
springboot自动装配的实现原理:我理解的自动装配是:其实EnableAutoConfiguration上有个Import注解,这个注解里面包含了一个实现了ImportSelector的类,在它里面的selectImports方法可以选择注入需要的Bean,分析源码可以看到,第一步:扫描META-INF/spring-autoconfigure-metadata.properties文件,它里面定义了很多的Conditional条件,例如ConditionalOnClass第二步:扫描META
2021-01-26 15:03:00
114
原创 1.1 springboot热部署
1.在pom文件的 <dependencies>标签中添加: <!--热部署依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional
2020-12-02 13:50:22
110
原创 4.在APP中更改系统语言
Activity代码:import android.app.backup.BackupManager;import android.content.Intent;import android.content.res.Configuration;import android.os.Bundle;import android.os.LocaleList;import android.view.View;import android.widget.Button;import android.wid
2020-09-11 16:40:22
287
原创 3.定时关机
BaseActivity代码:(利用反射,调用系统方法关机)import android.content.Context;import android.os.Bundle;import android.view.KeyEvent;import android.view.View;import android.view.WindowManager;import androidx.annotation.Nullable;import androidx.appcompat.app.AppCom
2020-09-11 16:37:34
156
原创 19.Android相关
1.常用adb命令adb root 用户权限adb remount 写权限adb disable-verity写权限失败时执行,然后rebootadb shell终端控制设备,命令行终端adb shell input keyevent 4 返回ps list package 查看所有应用 + | grep XXXadb reboot bootloader fastboot 进入fastboot模式fastboot reboot 退出fastbootadb push 本机pwd 机器pwd
2020-09-01 22:20:03
107
原创 2.Ubuntu系统
一、系统配置1. 系统常用命令及常用软件安装2.安装搜狗输入法3.安装vim可能出现的问题:当运行sudo apt-get install/update/其他命令时,会出现如下提示:E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: Unable toacquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), isanother process using
2020-06-18 16:38:58
234
原创 集群、分布式、微服务的区别
1.**分布式:**一个业务分拆多个子业务,部署在不同的服务器上2.**集群:**同一个业务,部署在多个服务器上3.**微服务:**将模块拆分成一个独立的服务单元通过接口来实现数据的交互。微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。...
2020-03-09 10:31:40
442
原创 10.Redis实现分布式锁
重要的命令:SETNX命令(SET if Not eXists)语法:SETNX key value功能:当且仅当 key 不存在,将 key 的值设为 value ,并返回1;若给定的 key 已经存在,则 SETNX 不做任何动作,并返回0。GETSET命令语法:GETSET key value功能:将给定 key 的值设为 value ,并返回 key 的旧值 (old ...
2020-03-02 09:44:58
187
原创 8.Hystrix
一、二、Hystrix的功能:(隔离、熔断、降级)1.使用命令模式将所有对外部服务(或依赖关系)的调用包装在HystrixCommand或2.HystrixObservableCommand对象中,并将该对象放在单独的线程中执行;3.每个依赖都维护着一个线程池(或信号量),线程池被耗尽则拒绝请求(而不是让请求排队)。4.记录请求成功,失败,超时和线程拒绝。5.服务错误百分比超过了阈值,...
2020-02-25 16:39:37
144
原创 eg:导入券码
获取导入的券码,并校验: @Override public List<String> importCouponCode(MultipartFile file) { List<CouponCodeVO> couponCodeVOList = new ArrayList<>(); try { // 1.获取券码VO集合 if (file ==...
2020-01-17 14:51:19
263
原创 6.2 Gateway网关
生命周期Spring Cloud Gateway同zuul类似,有“pre”和“post”两种方式的filter。客户端的请求先经过“pre”类型的filter,然后将请求转发到具体的业务服务,收到业务服务的响应之后,再经过“post”类型的filter处理,最后返回响应到客户端。过滤器Spring Cloud Gateway根据作用范围划分为GatewayFilter和GlobalFi...
2020-01-17 11:21:50
147
原创 7.Config Server
Config Server是一个可横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用Git存储配置文件内容,也可以使用SVN存储,或者是本地文件存储。Config Client是Config Server的客户端,用于操作存储在ConfigServer中的配置内容。微服务在启动时会请求Config Server获取配置文件的内容,请求到后再启动容器。...
2020-01-17 10:38:50
192
原创 6.1 Zuul网关
使用Zuul之后的架构从架构图中可以看出,客户端请求微服务时,先经过Zuul之后再请求,这样就可以将一些类似于校验的业务逻辑放到zuul中完成。而微服务自身只需要关注自己的业务逻辑即可。当然在Zuul上层也可以搭建Nginx、F5等负载均衡设施。一.过滤器ZuulFilter过滤器是Zuul的重要组件。ZuulFilter是一个抽象类,其实现类需要实现4个方法:① shoul...
2020-01-17 10:05:21
142
原创 18.编号生成的大致规则
规则:1.code = InsertCodeUtil.getIncrSerial(字母所写+ORG+租户id+"-"+组织id);注:根据key获取Redis自增流水2.如果code是"0001"count = 当前租户+组织下数据的条数code = InsertCodeUtil.getIncrSerial(字母所写+ORG+租户id+"-"+组织id,count);3.date...
2020-01-13 18:44:30
2083
原创 将List集合导出为Excel
@Override @Transactional public com.chitai.saasplatform.base.framework.result.Result<String> exportApply2(Long id) { CouponApply couponApply = couponApplyDao.selectByPrimaryKey(id); // 记录导...
2020-01-13 16:57:38
2124
1
原创 9.Excel转List
将传入的Excel文件转为List集合ServiceImpl:public List<String> importCouponCode(MultipartFile file) { List<CouponCodeVO> couponCodeVOList = new ArrayList<>(); try { //...
2020-01-13 16:32:36
782
原创 17.分布式自增ID雪花算法
package com.chitai.saasplatform.base.util;import org.apache.commons.lang3.RandomUtils;import org.apache.commons.lang3.StringUtils;import java.net.*;import java.util.Enumeration;/** * 描述: T...
2020-01-10 17:32:57
438
原创 16.禁用双层for循环后的替代方法
判断两个集合/数组中是否有相同值的思路:1.将内层循环设为索引,new一个HashMap放入其中,遍历原先内层循环的集合或数组,然后map.push(),将key设为原先内层循环的值,将value设为12.判断时:原先的外层for循环不变,循环内部用if(map.get(外层循环数组或集合[i]) != null){ //进入了if内,则有相同的值,并且相同的值是:外层循环数组或集合[i]...
2019-12-25 14:46:46
2372
原创 14.技巧
1.Condition类的使用实现类似如下语句:select * from 表 where id=rule_id2.StringUtiles中的部分方法:StringUtils.isBlank() 判断字符串的值是否为空,包括null,空,空格,制表符回车符等StringUtils.substringBeforeLast(c...
2019-12-17 17:22:13
109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人