- 博客(42)
- 资源 (1)
- 收藏
- 关注
原创 前端vue调试样式方法
2.在浏览器中添加width宽度样式覆盖原有的样式,如果生效后说明class对了,则到vue页面的strye中添加覆盖样式。3)如果vue页面的import中没有引用则到main.js中寻找,这寻找标签的开头rab就可以有的是只有开头前缀。4)main.js中的引用在library文件夹中,而不是在src文件夹下面。1.选中要修改的下拉框,找到对应的标签的class样式。1)这种看上去不像原生组件的都是自定义组件。2)先到vue页面的import中寻找引用。3.寻找自定义标签组件方法。
2024-11-22 11:53:37
388
原创 一号一链的短链系统设计
同一个短链域、同一个长链id相加后短链是一样且唯一不重复,达到节省redis内存空间的目的,不然的话一号一链的长链和短链关系就需要每个电话号码存储一份;9.缺点:短链的id值最大只能是25417,因此对于大量的短链情况下需要对短链做过期时间的限制,如果短链id使用达到25417值后把已过期的短链id拿来继续重复使用;7.而通过这样设计后,同一个长链的一号一链的短链对应的长链关系,redis中只需要存储短链域名加上长链id为key,value存储长链信息;
2024-11-12 13:57:19
355
原创 Linux修改docker默认存储目录(/var/lib)
2.迁移docker安装目录进行备份。4.新增daemon.json文件。6.查看docker文件的存放路径。1.停止docker。5.启动docker。
2024-09-05 14:35:55
958
原创 使用docker安装jenkins,然后使用jenkins本地发版和远程发版
1.安装必要的一些系统工具2.添加软件源信息3.更新yum索引列表并安装Docker引擎4.yum索引列表没有更新可以直接使用yum makecache(若有报错请翻阅第四部分第二条)docker-ce:社区版的,docker-ee:企业版的5.安装过程中会提示确认,输入y以确认6.开启Docker服务或者 systemctl start docker7.测试是否安装成功。
2024-09-04 17:18:50
1619
原创 MySql的LOAD DATA LOCAL INFILE大批量导入数据到MySQL的实现demo
1.表结构CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `a` int(11) NOT NULL, `b` bigint(20) unsigned NOT NULL, `c` bigint(20) unsigned NOT NULL, `d` int(10) unsigned NOT NULL, `e` int(10) unsigned NOT NULL, `f` int(10) uns
2022-05-16 22:37:14
180
原创 String常量池与intern()方法底层原理
String s = new String(“a”)+new String(“b”);//返回堆中指向“ab”对象的地址String s2 = s.intern();System.out.println(s2 == “ab”);System.out.println(s == “ab”);1.7和1.8结果都是true,true;1.new都是会到堆中创建对象,当然new String(“a”)+new String(“b”);这个编译会优化成new String(“ab”);这个时候常量池中是.
2022-04-28 16:07:04
171
原创 MySql联合索引分析
将时间和重复度高字段建立联合索引时,为什么重复字段高的字段放到前面反而能走索引分许?问题实例如下图:根据文章:https://www.alibabacloud.com/blog/optimizing-mysql-composite-index-in-innodb_595057得出的答案如下图:...
2021-03-25 17:40:57
109
原创 git中config文件demo
[core]repositoryformatversion = 0filemode = falsebare = falselogallrefupdates = truesymlinks = falseignorecase = true[remote “origin”]url = https://github.com/hahaxw/demo-project.gitfetch = +refs/heads/:refs/remotes/origin/[branch “master”]remot
2021-01-25 09:38:07
111
原创 从源码的角度去分析Semaphore的运行原理
1. Semaphore的原理Semaphone的是一个拥有计数信号量,也就是说它可以对这个计数器的信号量设置一个固定大小的阀值,当出现多线线程竞争的时候,对这个阀值进行扣减,当阀值扣减到零时,线程会阻塞放入到同步队列中,等待获取到了信号的线程释放锁后唤醒,当有获得了信号的线程释放了锁后,会去唤醒它的后继节点上的线程,这个后继线程就会去争夺同步状态,如果争夺成功,就拿到了执行权,等待cpu调度, 如果失败,则继续阻塞等待被再次唤醒。2. 源码分析acquire获取信号(也就是获取锁)
2020-07-09 17:14:28
242
原创 导入spring源码到idea的完整步骤
导入spring源码到idea的完整步骤1.到github上找到spring-framework代码,然后将代码fork到码云上,步骤地址如下: https://cloud.tencent.com/developer/article/15896752.下载gradle,安装gradle(注意idea和gradle对应的版本,楼主使用的是2019.2版本的idea和5.2.1版本的gradle)3.按照spring-framework目录中的import-into-idea.md文件的步骤进行编译4
2020-07-01 20:24:11
508
原创 jdk动态代理和CGLIB动态代理
1.CGLIB与JDK动态代理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP 2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP 3、如果目标对象没有实现了接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换
2020-05-19 20:51:43
117
原创 使用自定义注解和java反射机制实现自定义表映射注解
1.代码demo如下:package com.itmayiedu.test;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import java.lang.reflect.Field;@Target(ElementType.F
2020-05-18 21:14:54
167
原创 使用java反射机制和dom4j写一个简版spring-ioc
1.新建一个springboot项目 <groupId>com.springioc</groupId> <artifactId>spring-ioc</artifactId> <version>1.0-SNAPSHOT</version>2.在pom文件中引入 <dependency> <groupId>org.apache.commons</groupId
2020-05-15 17:42:43
152
原创 在SpringBoot中使用Filter过滤器解决跨域问题
1.在SpringBoot的启动类中加上@ServletComponentScan注解,使@WebFilter注解启用2.代码:package com.walmart.ecrecon_server;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRes
2020-05-09 09:28:18
702
原创 访问webapps下的文件出现404问题,截器中注入bean实例时出现为空的问题,项目启动后创建文件夹
1.将excel导出的文件放到tomcat的webapps下的目录中时,excel文件中带有中文,会出现404问题。2.在拦截器中注入bean实例时,出现为空的问题,那是因为拦截器的加载时间是在springcontext上下文之前,解决办法如下: 获取WebApplicationContext, 根据 WebApplicationContext 获取相应的bean private T g...
2020-03-31 14:18:49
373
原创 sql数据库全外连接和sqlserver2008分页
1.全外连接(full outer join)select p.,oi.from winxin_b pfull outer join bas_order_info oi on oi.order_id = p.order_id2.分页查询,语法如下:offset #{currentPage,jdbcType=INTEGER} rows fetch next #{limit,jdbcType...
2020-03-11 09:34:01
142
原创 k8s学习地址
https://www.kubernetes.org.cn/coursehttps://www.cnblogs.com/harlanzhang/p/10045975.htmlhttps://jimmysong.io/kubernetes-handbook/practice/dashboard-upgrade.htmlhttps://www.kubernetes.org.cn/5462.htm...
2020-03-06 16:20:33
163
原创 SqlServer2008中with(nolock)的使用原因和场景
SqlServer2008with(nolock)的使用原因和场景https://blog.csdn.net/xzg1109/article/details/79492863
2020-02-28 16:42:16
457
原创 java并发编程知识点总结
1、jsconsl检测死锁问题2、Javap -verbose java.class 打开字节码文件3、偏向锁:偏向锁等到出现多线程竞争的时候会释放;适用于单线程;当线程进来后检查锁标志位是不是偏向锁,如果是再查看偏向锁的线程id是不是与当前线程id一致,如果是一致的话就直接进入代码中,第一次进来的时候需要获取偏向锁,第二次以后就只需要对比当前线程id是否与偏向锁线程id一致。3.1轻量级锁...
2019-12-18 16:56:59
138
原创 Exchanger(数据交换)的使用demo
1.在A线程和B线程中分别使用使用exchanger(value)方法,A线程中的 exchanger(aValue)方法的返回值返回的是B线程中exchanger(bValue)进去的值bValue,也就是说在A线程调用exchanger(aValue)的返回值是bValue,B线程则反之。2.代码如下package cn.shiyujun.thread;import java.util...
2019-12-18 16:50:00
145
原创 jdk8中的StampedeLock锁的使用与原理
1、stampeLock的原理(1)读锁并不会阻塞写锁:当写的时候读失败了,再重新读。(2)分为乐观锁和悲观锁,乐观锁时读写不互斥,悲观锁读写互斥。(3)悲观锁不互斥的原理:获取读写锁的时候都会返回一个标识,然后在 读得时候使用validate(long)方法来判断是否发生了写操作,如果发生 了就再次进行读取。(4)StampedLock的等待队列与RRW的CLH队列相比,有以下特点:...
2019-12-17 16:54:42
286
原创 简易web服务器
1、代码如下package com.httpserver.server;import java.io.*;import java.net.Socket;import java.util.Date;import java.util.HashMap;import java.util.Map;public class ServerThread implements Runnable {...
2019-12-17 09:50:45
188
原创 使用AQS手动实现锁的获取与释放
package cn.shiyujun.thread.thread4;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.c...
2019-12-16 10:28:35
143
原创 使用AQS重写自己的锁
源码分析:1、lock()加锁调用AbstractQueuedSynchronizer类的acquire(int arg)方法如下:public final void acquire(int arg) {if (!tryAcquire(arg) &&acquireQueued(addWaiter(Node.EXCLUSIVE), arg))selfInterrupt()...
2019-12-10 19:53:11
177
原创 实现数字加字母的组合排序("AA","A1","A2","A3","A4","BB","B1","B2","B3","B4","CC","C1","C2","C3","C4")
1.将字母排在前面数字排下后面ORDER BY nameRight regexp '^[0-9]',space desc2.排序完整sql的demoselect name,left(name,1) nameLeft,right(name,1) nameRight from store ORDER BY nameLeft,nameRight regexp '^[0-9]',convert...
2019-10-29 09:12:55
536
原创 spring事务回滚的demo
1.contrller层代码@RestController@RequestMapping("transactionnalDemo")public class TransactionnalDemoController { @Autowired TransactionnalDemoService transactionnalDemoService; @RequestM...
2019-10-23 15:47:14
309
原创 Spring AOP和AspectJ AOP有什么区别
Spring AOPAspectJ在纯 Java 中实现使用 Java 编程语言的扩展实现不需要单独的编译过程除非设置 LTW,否则需要 AspectJ 编译器 (ajc)只能使用运行时织入运行时织入不可用。支持编译时、编译后和加载时织入功能不强-仅支持方法级编织更强大 - 可以编织字段、方法、构造函数、静态初始值设定项、最终类/方法等…。只能在...
2019-09-23 17:01:59
3080
原创 method方式post变成get的问题
参数: http://telemanapi.telemex.io/api/v1/transfer/history 请求方式是:POST问题描述:使用postman请求时服务器中method变成了get.出现问题的原因:生产中是https请求,而我使用的postman确实http请求.解决办法:将http修改成https...
2019-08-29 14:44:56
2167
1
原创 获取请求者的ip方法
1.代码如下 protected String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))...
2019-08-22 09:47:45
596
1
原创 国际区号和电话号码剥离
1.引入pom依赖<!-- https://mvnrepository.com/artifact/com.googlecode.libphonenumber/libphonenumber --> <dependency> <groupId>com.googlecode.libphonenumber</groupId...
2019-08-22 09:44:13
480
原创 使用docker构建一个.jar的简单镜像
#docker创建镜像和容器的步骤1.创建Dockerfile文件#指定基础镜像jdk8(本机中的镜像)FROM java:8-jdk#将syex-new-grpc.ja映射成grpc-test.jarADD syex-new-grpc.jar /grpc-test.jar#暴露端口EXPOSE 8802###配置容器启动后执行的命令ENTRYPOINT [ "bash",...
2019-08-13 17:11:33
247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人