06 2019 档案
摘要:一些常见术语 编程中的Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 主机 A 的应用
阅读全文
摘要:计算机网络体系结构 OSI七层模型 开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。其目的是为异种计算机互连提供一个共同
阅读全文
摘要:1.1. 优化实战 1.1.1. 策略1.尽量全值匹配 CREATE TABLE `staffs`( id int primary key auto_increment, name varchar(24) not null default "" comment'姓名', age int not nu
阅读全文
摘要:1.1.1. 什么是执行计划 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是 如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈 1.1.2. 执行计划的作用 l 表的读取顺序 l 数据读取操作的操作类型 l 哪些索引可以使用 l 哪些索引被实际使用 l
阅读全文
摘要:cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;cat主要有三大功能:1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件。$cat file1 file2
阅读全文
摘要:1.1. 索引入门 1.1.1. 索引是什么 1.1.1.1. 生活中的索引 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 可以得到索引的本质:索引是数据结构。 上面的理解比较抽象,举一个例子,平时看任何一本书,首先看到的都是目录,通过目录去查询书籍里面的
阅读全文
摘要:1.1. 什么是慢查询 慢查询日志,顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。 1.2. 慢查
阅读全文
摘要:1. 业务设计 1.1. 逻辑设计 1.1.1. 范式设计 1.1.1.1. 数据库设计的第一大范式 数据库表中的所有字段都只具有单一属性 单一属性的列是由基本数据类型所构成的 设计出来的表都是简单的二维表 name-age列具有两个属性,一个name,一个 age不符合第一范式,把它拆分成两列 1
阅读全文
摘要:1. 事务 1.1. 为什么需要事务 现在的很多软件都是多用户,多程序,多线程的,对同一个表可能同时有很多人在用,为保持数据的一致性,所以提出了事务的概念。 A 给B 要划钱,A 的账户-1000元, B 的账户就要+1000元,这两个update 语句必须作为一个整体来执行,不然A 扣钱了,B 没
阅读全文
摘要:1. 锁 1.1. 锁的简介 1.1.1. 为什么需要锁? 到淘宝上买一件商品,商品只有一件库存,这个时候如果还有另一个人买,那么如何解决是你买到还是另一个人买到的问题? 1.1.2. 锁的概念 l 锁是计算机协调多个进程或线程并发访问某一资源的机制。 l 在数据库中,数据也是一种供许多用户共享的资
阅读全文
摘要:-- 将订单表所有的状态改成1update oc_repair_preorder a inner join (select id,`status` from oc_repair_preorder) b on a.id = b.id set a.`status` = 1 update oc_repai
阅读全文
摘要:1. 存储引擎 #看你的mysql现在已提供什么存储引擎: mysql> show engines; #看你的mysql当前默认的存储引擎: mysql> show variables like '%storage_engine%'; 1.1. MyISAM MySql 5.5之前默认的存储引擎 M
阅读全文
摘要:1. Mysql架构 1.1. 体系 1.1.1. 连接层 当MySQL启动(MySQL服务器就是一个进程),等待客户端连接,每一个客户端连接请求,服务器都会新建一个线程处理(如果是线程池的话,则是分配一个空的线程),每个线程独立,拥有各自的内存处理空间 show VARIABLES like '%
阅读全文
摘要:1.1.1. JSON类型数据存储 新建表 create table json_user ( uid int auto_increment, data json, primary key(uid) ); 插入数据 insert into json_user values ( null, '{ "na
阅读全文
摘要:如果不需要保存上次编辑的内容,则直接删除临时文件:rm .my.cnf.swp(然后系统提示是否确认删除 :rm: remove regular file `.my.cnf.swp'?) 直接输入y,回车,如下图所示
阅读全文
摘要:1.1.1. Int类型 类型 字节 最小值 最大值 (带符号的/无符号的) (带符号的/无符号的) TINYINT 1 -128 127 0 255 SMALLINT 2 -32768 32767 0 65535 MEDIUMINT 3 -8388608 8388607 0 16777215 IN
阅读全文
摘要:1.1. 最简单的MySql权限 最简单也是最高效的,如果解决新手们删库跑路的问题其实也是很简单的,对于正式库只给一个增删改查的权限,或者只给一个查询权限(是不是就解决了删库的可能性?) 使用Root用户,执行 grant SELECT on mall.* TO 'dev'@'192.168.244
阅读全文
摘要:1.1. 准备工作 Linux 使用的版本是centos 7,为方便起见,先把防火墙关闭,配置好网络,在安装部分,会分成两部分讲,首先讲单实例安装,也就是一台服务器上就装一个mysql,接下来就多实例安装,在一个服务器上安装2个甚至多个mysql. 1.2. 单实例安装 cp /soft/mysql
阅读全文
摘要://得到指定日期(几天前/几天后)整数往后推,负数往前移动private Date getAppointDay(int num) throws ParseException { DateFormat dateFormat = new SimpleDateFormat(); String format
阅读全文
摘要:本文提纲 一、缓存的应用场景 二、更新缓存的策略 三、运行 springboot-mybatis-redis 工程案例 四、springboot-mybatis-redis 工程代码配置详解 运行环境: Mac OS 10.12.x JDK 8 + Redis 3.2.8 Spring Boot 1
阅读全文
摘要:面向对象 01、构造器参数太多怎么办? 如果参数很多,会导致构造方法非常多,拓展性差,代码难编写,且难以看懂。 用JavaBeans模式, get和set 一行构造编程多行代码实现,需要使用额外机制确保一致性和线程安全。 用builder模式, 1、5个或者5个以上的成员变量 2、参数不多,但是在未
阅读全文
摘要:JVM调优的本质: 并不是显著的提高系统性能,不是说你调了,性能就能提升几倍或者上十倍,JVM调优,主要调的是稳定。如果你的系统出现了频繁的垃圾回收,这个时候系统是不稳定的,所以需要我们来进行JVM调优,调整垃圾回收的频次。 GC调优原则 调优的原则 1、 大多数的java应用不需要GC调优 2、
阅读全文
摘要:Class文件结构 计算机只认识0和1,这个称之为本地机器NativeCode Jvm的无关性 与平台无关性是建立在操作系统上,虚拟机厂商提供了许多可以运行在各种不同平台的虚拟机,它们都可以载入和执行字节码,从而实现程序的“一次编写,到处运行” https://www.oracle.com/tech
阅读全文
摘要:内存溢出 内存溢出的原因:程序在申请内存时,没有足够的内存空间 栈溢出 方法死循环递归调用(StackOverflowError)、不断建立线程(OutOfMemoryError) 堆溢出 不断创建对象,分配对象大于最大堆的大小(OutOfMemoryError) 直接内存 分配的本地内存大小大于J
阅读全文
摘要:Java与C++等语言最大的技术区别:自动化的垃圾回收机制(GC) 为什么要了解GC和内存分配策略 1、面试需要 2、GC对应用的性能是有影响的; 3、写代码有好处 栈:栈中的生命周期是跟随线程,所以一般不需要关注 堆:堆中的对象是垃圾回收的重点 方法区/元空间:这一块也会发生垃圾回收,不过这块的效
阅读全文
摘要:虚拟机中的对象 对象的分配 虚拟机遇到一条new指令时:根据new的参数是否能在常量池中定位到一个类的符号引用,如果没有,说明还未定义该类,抛出ClassNotFoundException; 1)检查加载 先执行相应的类加载过程。如果没有,则进行类加载 2)分配内存 根据方法区的信息确定为该类分配的
阅读全文
摘要:未来的Java技术 模块化:OSGI(动态化、模块化),应用层面就是微服务,互联网的发展方向 混合语言:多个语言都可以运行在JVM中,google的Kotlin 成为了 Android 的官方语言。Scala(Kafka) 多核并行:CPU从高频次转变为多核心,多核时代。JDK1.7引入了Fork/
阅读全文
摘要:Calendar c = Calendar.getInstance(); c.setTime(cur); //设置时间 c.add(Calendar.MINUTE, 1); //日期分钟加1,Calendar.DATE(天),Calendar.HOUR(小时) Date date = c.getTi
阅读全文
摘要:location字段为point类型的空间坐标 SELECT id, name, address, x(location) as 经度, Y(location) as 纬度, ROUND( 6378.138 * 2 * ASIN( SQRT( POW( SIN( ( 40.0497810000 *
阅读全文
摘要:说明:数据库:表中没有经度跟纬度字段,只有location字段(point类型) POINT(经度 纬度)实体类:只有经度 lng 字段、纬度 lat 字段 没有location字段<!--添加一个小区--><insert id="insertOneDistrict" parameterType="
阅读全文
摘要:情况一: 数据库:只有point类型的location字段 实体类:有经纬度字段(double)、originLoction字段(存放string类型的数据库location字段:POINT(123.462202 41.804471) ) 单位:km 查询方圆100千米以内的数据.. SELECT
阅读全文
摘要:private static final double EARTH_RADIUS = 6371000;//赤道半径(单位m)private static final double INTEGR_NUM = 10000; /** * 基于googleMap中的算法得到两经纬度之间的距离,误差 <= 0
阅读全文
摘要:mysql距离计算,单位m,以及排序 lng 经度 lat 纬度 一般地图上显示的坐标顺序为,纬度在前(范围-90~90),经度在后(范围-180~180) /*传入的参数为 纬度 纬度 经度 ASC升序由近至远 DESC 降序 由远到近 */ SELECT id, name, address, R
阅读全文

浙公网安备 33010602011771号