- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 Redis优化
Redis 设计优化1 估算Redis内存使用量要估算redis中的数据占据的内存大小,需要对redis的内存模型有比较全面的了解,包括hashtable、sds、redisobject、各种对象类型的编码方式等。下面以最简单的字符串类型来进行说明。假设有90000个键值对,每个key的长度是10个字节,每个value的长度也是10个字节(且key和value都不是整数);下面来估算这90000个键值对所占用的空间。在估算占据空间之前,首先可以判定字符串类型使用的编码方式:embstr。90
2020-08-19 23:38:17 951
原创 Mysql索引
MySQL索引篇一、一条Select语句select * from city WHERE city_id=1执行流程:二、索引介绍1、索引是什么官方介绍索引是帮助***MySQL高效获取数据的数据结构***。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引
2020-08-18 00:22:11 213
原创 sonar java和xml插件包
java编写xml自定扫描规则所需要的包<dependency> <groupId>org.sonarsource.analyzer-commons</groupId> <artifactId>sonar-xml-parsing</artifactId> <version>1.10.2.456</version></dependency>记录一下,具体使用之后再写...
2020-07-05 19:49:35 476
原创 ercharts 仪表盘
var c8 = echarts.init(document.querySelector('#c8')); c8.setOption({ tooltip : { formatter: "{a} <br/>{c} {b}" ...
2018-09-13 17:20:49 222
原创 ercharts 柱状图
1.多颜色柱状图 多个不同颜色的seriesData,1,2,3排列,后面的会覆盖前面的,主要属性是series中的barGap: '-100%',barCategoryGap: '60%'。 多颜色单柱和多颜色多柱的区别,就是barGap和barCategoryGap,当没有这两个属性时,就是多柱子并列 xAxis中的interval:0, ...
2018-09-13 17:11:11 980
原创 ercharts 饼图
单圆环单圆环和大饼图的区别是 series中radius: ['55%', '70%'],55%为中心空的百分比,0时为大饼中间想要显示字符,可以在title里面设置主标题和副标题内容位置var c18 = echarts.init(document.querySelector('#cycle1')); c18.setOption({ ...
2018-09-13 16:33:21 599
原创 ercharts 曲线图
传入数据x轴数据axisData,标题数据legendData,图表数据seriesData,单位unit。function getC5option(axisData,legendData, seriesData,unit,) { var option = { tooltip: {//鼠标指向图表时显示的数据 ...
2018-09-13 16:20:22 639
原创 线程与锁
锁保证了多个线程访问一个类时,表现的是正确行为,即保证了线程安全。synchronized: 可以在任意对象及方法加上锁,而加锁的这段代码称为互斥区或临界区当多个线程访问synchronized修饰的方法锁,会以按cpu的分配先后顺序,以排队的形式进行处理。而在这个过程中,线程都会不断地尝试去获得这个锁,如果拿到了,就进入synchronized代码体内容;拿不到时,还会继续尝试去获取...
2018-07-30 14:47:46 194
原创 Cookie中的domain属性
domian属性表示该cookie的作用域,如果当前网页的域名与其不一致,如在本机调试时,一个localhost,一个127.0.0.1,会导致Cookie在当前网页中取值为空字符串...
2018-06-20 16:52:25 3390 1
原创 springboot整合mybatis过程中的配置(注解&&xml)
1.注解x在启动类添加@MapperScan扫描dao层接口2.xml除了在启动类添加@MapperScan外,还需要在application.yml添加mybatis的xml路径mapper-locations: classpath:mybatis/mapper/*.xml注意,classpath:后面默认是resources文件夹下的,如果想放到java文件夹下,需要在pom的build添加&...
2018-06-07 10:24:06 846
原创 为什么重写equals方法时,必须重写hashcode方法
1.维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。2.hashcode是用于散列数据的快速存取,如利用hash结构集合类来存储数据时,都是根据存储对象的hashcode值来进行判断是否相同的。所以会出现一种可能,当重写equals方法后,判断对象相等,但其hashcode却不一致,这种相等可以看作为逻辑相等。当使用hash集合类时,存放时会根据该类的hashcod...
2018-06-06 10:23:55 3023 1
原创 ajax发起跨域请求
ajax发起跨域请求1.jsonp跨域前端ajax $.ajax({ type: 'GET', url: 'http://localhost:80/thinkphp3.2.3/index.php?m=Home&c=Index&a=index', dataType: "jsonp", //jsonp: "callback", //data: {'userid': ...
2018-05-14 17:19:55 279
原创 原子操作,内存可见性与指令重排序
"原子操作(atomic operation)是不需要synchronized",这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切 换到另一个 原子操作 原子操作(atomic operation),是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直...
2018-05-12 23:49:13 724
原创 MySQL存储过程命令及Navicat操作步骤
本次使用的数据库student里的student表,在本文最后,可以自行跟步骤练习一、windows使用CMD命令操作步骤 1.确定启动了mysql服务; 2.输入mysql -u账号 -p密码登录mysql; 3.显示数据库列表show datebases后,选择数据库use student; 4.然后再输入delimiter $定义结束符号后,再输入 mysql&...
2018-03-22 21:44:47 3832
原创 Nginx的反向代理及负载均衡
Nginx的应用场景1、http服务器。 Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。2、虚拟主机。 可以实现在一台服务器虚拟出多个网站。其中虚拟机的可以通过端口或者域名区分 2.1、端口区分虚拟机:通过不同的端口号可以访问到一个ip中不同的虚拟机网站 (1)在nginx.conf文件中添加一个Server节点,修改端口号。serve...
2018-03-09 22:23:07 209
原创 GC算法及Jvm的分代
在Java虚拟机中,给内存划分了三个代,根据不同的代使用不同的gc算法,在gc回收垃圾之前,我们应该先知道gc如何区分垃圾GC如何区分垃圾引用计数器“引用计数”法通过统计控制生成对象和删除对象是的引用数来判断,在对象在添加一个引用计数器,每当有一个地方引用就+1,引用失效就-1,垃圾回收程序收集计数为0的对象即可。但是这种方法的缺陷是无法解决循环引用。可达性分析在主流垃圾判断算...
2017-12-20 09:58:11 271
原创 layui父页面获取子页面的窗口对象
在父页面的layer.open方法中的按钮点击回调方法中,使用以下方法,可以调用子页面中的js方法。 一、 //获得iframe窗口的id至,其中下面的‘customerServiceOpen’为layer.open方法中的id值 var frameId=document.getElementById(‘customerServiceOpen’).getElementsByTagName(“i
2017-12-20 09:34:39 7558 2
原创 JVM之新生代进入老年代
内存分配及回收策略——新生代如何进入老年代内容摘抄自周志明的《深入理解Java虚拟机2版》 新生代GC(Minor GC)指发生在新生代的垃圾收集动作,因为Java对象大多都具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度也比较快。老年代GC(Major GC/Full GC)指发生在老年代的GC,出现了Major GC,经常会伴随至少一次的Minor GC(但非绝对的,在Paral
2017-12-20 09:30:58 5070
原创 Java对象的创建
Java对象的创建虚拟机遇到一条new指令时,首先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,然后检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。类加载检查通过后,虚拟机会为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。“指针碰撞”假设Java堆中内存
2017-12-13 16:36:32 187
原创 JVM运行时数据区域
运行时数据区域有一下几个部分 1.程序计数器 很小的,线程私有的内存; 线程执行的字节码行号指示器,记录下一条运行指令; 唯一一个规范没有规定OutOfMemoryError的情况。2.Java虚拟机栈 线程私有的内存,线程启动时虚拟机会为其分配一个java虚拟机栈; 虚拟机栈元素为栈帧,在方法执行时都会创建一个栈帧,存储局部变量表、操作数栈、动态链接、方法出
2017-12-12 11:53:45 184
原创 java异常
java标准异常throwable这个java类可以用来表示任何作为异常被抛出的类。throwable可分为error和exceptionerror表示编译时和系统错误(一般无需程序员关心) exception 表示可以被抛出的基本类型,在java库类,用户方法及运行时故障都可能抛出exceptionruntimeException表示运行时异常,也被称为不受检查异常,属于exception,但会
2017-12-07 10:36:56 97
原创 SIM卡APDU指令
一个APDU可以是一个命令,也可以是命令的响应。命令APDU的一般格式: CLA INS P1 P2 P3 Data响应APDU的一般格式: Data SW1 SW2各个字节的意义如下: CLA: 是指令类型,GSM应用为0xA0。INS:每个命
2017-01-06 12:16:23 12458
原创 SMS短信PDU编码详细解析
以一个例子来详细解析: 01 08 91 683110300405F1 60 05 A1 0110F0 00 08 31808061349523 04 4F60597D(1)01-短信状态; [01:已读短信;03:未读短信;05:已发短信(不要求状态报告);0D:已发短信(要求状态报告但未收到);15:已发短信(要求状态报告,并收到了,但未保存到EF_SMSR);1D:已发短信(要求状态报告,并
2017-01-03 17:38:11 10746 4
原创 ADN电话本信息的简单解析
ADN格式解析**识别符:0x6F3A 结构:线性 可选 记录长度:X+14个字节 更新级别:低 访问条件: 读:CHV1。 更新:CHV1。 使无效:CHV2。 恢复:CHV2。 字节 描述 M/O(必须或可选) 长度 1-X 字母识别符 O X X+1 内容长度的BCD值 M 1 X+2 TON与NPI M
2017-01-03 15:40:31 1215
原创 线程之“生产者消费者”
线程之“生产者消费者”sleep():sleep来自Thread类,调用时线程睡眠但不释放当前对象锁(括号内加入睡眠时间,时间到后自然苏醒);wait():wait来自Object类,调用线程睡眠释放当前对象锁定,进入等待线程池,出让系统资源,其他线程可以占用CPU资源,等待notify/notifyAll去对它进行唤醒后重新进入就绪态;sync
2016-11-23 23:25:22 344
ssh简单项目(毕设课设)
2018-01-23
请教下关于数据库设计问题
2022-09-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人