- 博客(22)
- 资源 (3)
- 收藏
- 关注
原创 mysql获取最近几天生日的用户
看了一堆帖子,没一个说到点子上。顿时感觉程序员水平确实良莠不齐,甚至有一些还在误人子弟。如今天是12月28号,最近7天,是不是就到明年1月份去了?适用于数据量少,或查询范围限定之后数据量少的情况。为什么你写的有问题?如你所见,是的,这个sql效率不高。问了ai大模型,更是不尽人意。
2024-09-30 14:38:26 429
原创 linux日志清理脚本
有些文件是一直在滚,所以需要定时压缩,节省磁盘空间。一般是配合linux定时crontab,将文件切割成以日期为结尾文件,如/data/logs/shop/nohup 文件,最终会切割成nohup.2023-08-21.1692669216.gz,每天压缩一个。因为有软连接存在,实际上剩余线上发布包的packgeNum是7-2=5个。找到14天前的以.log,.gz结尾的日志文件,全干掉。一般线上环境会以软链接形式发布代码包,方便回滚。但是代码包会越来越多,所以也需要定期清理。
2023-08-22 10:40:17 426
原创 看点直播抓取视频回放链接
需要预先安装charles,并设置了手机网络抓包https://blog.csdn.net/zs343961443/article/details/1137487781.手机不要连你设置好的wifi,使用移动网络直接打开看点直播某个直播间。以这个视频回放为例2.停在这个页面,然后打开你设置 好的wifi,连上,注意观察你的电脑端的charles,他会提示是否允许你的手机代理上网,那么你选择是。就会使用charles截获你手机端的请求。3.点击上图画红框视频,会跳转到一个视频播放.
2021-02-07 23:10:33 3599
原创 Mac使用Charles抓包
1.下载charles并安装https://xclient.info/s/charles.html下载教程就不用说了。都在上面的网页里面写的很清楚。对版本没有特别的要求。安装,直接安装就好了2.配置charles这个端口你设置下记得就好3.配置https证书这一步是为了抓取https请求3.1电脑端安装钥匙串访问,标记为信任即可3.2手机端安装证书上面画红框的地方你得记住。你的电脑 当然可能不是上面那个值。然后手机端跟电脑端得连..
2021-02-07 22:58:24 449
原创 HashMap底层原理的故事-resize()方法详解
1.第一次运行结果红色的表示被执行final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; // 空 int oldCap = (oldTab == null) ? 0 : oldTab.length; // 值为0 int oldThr = threshold;// 值为0 int newCap, newThr = 0; if (oldCap > 0) {...
2020-08-27 21:34:49 670
原创 HashMap底层原理的故事
每个点都不是那么都容易。比如阅读源码。而且仅仅只是HashMap的源码。本篇博文的版本是基于java8的。1.首先快乐的建立了一下测试代码。public class HashMapTest { public static void main(String[] args) { HashMap<String, Object> hashMap = new HashMap<>(); hashMap.put(null, null); }
2020-08-18 12:01:29 360
转载 HashMap底层原理的故事-Object的hashCode
我们兴冲冲的打开了Object的源码,然后去看下hashCode到底是个啥。//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package java.lang;public class Object { public Object() { } private static native void registe
2020-08-18 11:51:13 324
转载 HashMap底层原理的故事-Object类的源码解析
一、所有类的父类都是Object为啥呢?怎么做到的呢?1. 1.6 java版本 javap -c .class文件会看到继承自Object,也就是在编译期处理。2. 1.7java版 javap之后不会看到,这个是jvm自行处理的。二、所有object类的方法红色的表示可以被子类重载。public final native Class<?> getClass() public native int hashCode() public boolean ..
2020-08-18 11:30:58 372
原创 4.java内存区域和内存溢出
java运行时数据区域分为以下几种:1.程序计数器 1.1简介 程序计数器是一块较小的内存区域,是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型中,字节码解释器工作时就是通过改变这个计数器的值来选取下一跳需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个行号指示器。想一想我们平时debug时的一行行的debug模式,非常相像。 多线程模式下,在一个确定的时刻,一个处理器只会执行一条线程中的指令。为了线程切换后能恢复到正...
2020-08-17 18:56:21 165
原创 HashMap底层原理的故事-负载因子和初始容量
https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html官网解释An instance of HashMap has two parameters that affect its performance: initial capacity and load factor. The capacity is the number of buckets in the hash table, and the initial capaci
2020-08-17 17:32:25 399
原创 java 各种锁
java 中实现锁的方式一般分为两种。sychronized 关键字,和ReentrantLock.这两种很好理解,也容易实现。但是名词可真有不少。下面解释一下乐观锁、悲观锁悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。。.
2020-07-19 15:41:39 131
原创 3.linux java 内存泄漏
1.直接dump文件即可jmap -dump:live,format=b,file=dump.bin pid2.压缩下载到本地,ha456.jar 分析
2020-06-19 16:48:45 276
原创 2.linux java程序 cpu高问题查询
1.查看占用内存最高的进程top2.查看对应进程的TIDPs -mp pid -o THREAD,tid,time3.找到对应tid 并转化16进制Printf “%x\n” number4.jvm诊断工具,抓出对应tidjstack -pid |grep tid
2020-06-19 16:43:40 219
原创 5.ThreadPoolExecutor详解
总有人问线程池的问题 ?于是就 专门写一篇,来讲讲ThreadPoolExecutor/** * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters. * * @param corePoolSize the number of threads to keep in the pool, even * if they are idle,.
2020-06-18 21:45:03 350
原创 3.jdk和jre和jvm的区别和联系
参考以上图片:1.名词解释 1.jdk(Java Development ToolKit)Java标准开发包,是包含了jre的。是java程序设计语言,java虚拟机,java api类库这三者的总称。是用来支撑java开发的最小环境。 2.JRE( Java Runtime Environment) Java运行环境,是支持java程序运行的标准...
2020-05-05 18:08:21 370
原创 linux rsync 服务器之前同步文件
场景: 将 192.168.0.1 文件夹 /data/logs/ 下文件同步至 192.168.0.2 /data/backup/logs文件夹下1.服务器192.168.0.2 启动server1.1 安装rsyncyum install -y rsync1.2 配置rsyncd.conf文件vim /etc/rsyncd.conf 增加内容[backup]gid ...
2019-02-15 17:11:18 166
原创 vue.js 微信浏览器缓存入口页面index.html问题
问题场景: 1.线上部署nginx直接指向前端文件路径,nginx核心配置如下:location /front/ { try_files $uri $uri/ /front/index.html; root /root/html/front;} 2.前端每次发布新版时,通过微信浏览器访问原来链接 www.fro...
2019-02-14 11:10:48 9276
原创 nginx upstream应用
nginx负载均衡,基本上都会用到upstream配置server { listen 80; server_name m.static.com; access_log /data/logs/nginx/m.static.com.access.log main; keepalive_timeout 60; ...
2019-02-12 22:03:45 626
原创 nginx 屏蔽后端接口
如果线上环境某个接口出现了问题,需要临时屏蔽,怎么做呢?server { listen 80; server_name m.static.com; ##屏蔽用户接口,并返回状态码403 location = /user/info { return 403; } ##...
2019-02-12 21:40:01 1202
原创 nginx 静态文件目录配置
实际开发/测试/线上环境中,我们可能会经常遇到nginx的静态文件配置。1. css,js,img等文件的静态文件目录配置 我们通常会需要配置(有可能是cdn回源,也有可能是直接访问),访问域名m.static以.css/gif/ico...等文件结尾的静态文件时,直接去服务器上/data/static 目录下面寻找。server { listen ...
2019-02-12 20:58:31 31322
原创 nginx 域名重定向跳转至另一个域名
域名 www.test123.com 跳转到www.test456.comserver { listen 80; server_name www.test123.com; rewrite ^/(.*) http://www.test456.com/$1 permanent;}
2019-02-12 20:04:46 22030
原创 nginx 80端口重定向至443(http跳转https)
以域名http://www.test123.com跳转https://www.test123.com为例server { listen 443; server_name www.test123.com; #开启ssl证书认证 ssl on; access_log /data/nginx/www.test1...
2019-02-12 19:58:11 16015
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人