MySQL中数据类型介绍 一、MySQL的数据类型主要包括以下五大类:整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT浮点数类型:FLOAT、DOUBLE、DECIMAL字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、...
数据库MySQL学习笔记高级篇 数据库MySQL学习笔记高级篇写在前面学习链接:数据库 MySQL 视频教程全集1. mysql的架构介绍mysql简介概述高级Mysql完整的mysql优化需要很深的功底,大公司甚至有专门的DBA写上述mysql内核sql优化工程师mysql服务器的优化各种参数常量设定查询...
SpringCloud学习第三章-springcloud 父项目创建 父项目 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc...
MySQL数据类型详解 整型先从最基本的数据类型整型说起,首先用一张表格归纳一下:数据类型字节数带符号最小值带符号最大值不带符号最小值不带符号最大值TINYINT1-1281270255SMALLINT2-3276832767065535MEDIUMINT3-8388608838860...
IDEA中Git的使用 工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库...
SpringCloud学习第四章-Eureka创建 注:因为有了父项目,所以不需要引入boot的jar,项目都是maven构建1、pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001...
Semaphore的简介及应用场景 Semaphore是一个计数信号量,常用于限制可以访问某些资源(物理或逻辑的)线程数目。常用函数:信号量的构造函数非公平:public Semaphore(int permits);//permits就是允许同时运行的线程数目公平(获得锁的顺序与线程启动顺序有关):public Semaphore(int permits,boolean fair);//p...
SpringBoot 整合websocket 1、MyWebSocketpackage org.hxm.webSocket;import java.io.IOException;import java.util.concurrent.CopyOnWriteArraySet;import java.util.concurrent.atomic.AtomicInteger;import javax.web...
Spring Boot集成Druid数据库连接池 1. 前言Druid数据库连接池由阿里巴巴开源,号称是java语言中最好的数据库连接池,是为监控而生的。Druid的官方地址是:https://github.com/alibaba/druid通过本文,我们可以看到Spring Boot 如何配置数据源Spring Boot 如何集成Druid数据库连接池如何打开并访问Druid数据库连接池的监控功能Spr...
read_ila close all;clc;%clear;%点数%point=40960;fft_point=200;show_point=200;end_point=1024;FS=30.72;%%MHZ%转换为频率f=((2:fft_point)-1)*FS/fft_point; %换算成实际的频率值w=boxcar(fft_point-1);%读...
ctcss CTCSS解码器基于非常窄的带通滤波器,其通过所需的CTCSS音调。滤波器的输出经过放大和整流,只要存在所需的音调,就会产生直流电压。直流电压用于打开,启用或取消静音接收器的扬声器音频级。当音调存在时,接收器被取消静音,当它不存在时接收器静音。、转载于:https://www.cnblogs.com/yssrf-possible/p/11595928.html...
AGC测试 代码1close all;clear all;clc;file_I = fopen('fe_agc_in.in', 'r');sig_I = fread(file_I, 'float32');sig_points_I = numel(sig_I);fclose(file_I);x=sig_I;[N col]=size(x);Px=zeros...
vue 更改主题颜色 启动一个项目,发现其中很多按钮,和图标整体颜色都为紫色,且个别按钮为浅紫色。尝试更改elment-ui样式后,发现效果不是很好。一番搜索后,发现更改主题能达到效果转载于:https://www.cnblogs.com/lt1007/p/11389294.html...
vue.js使用 element-ui设置导航栏跳转路由 根据官网的介绍修改自己的路由官网介绍:<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"><el-menu-item index="1">处理中心</el-menu-item>&...
Spring Boot二:Web 综合开发 Web 开发Spring Boot Web 开发非常的简单,其中包括常用的 json 输出、filters、property、log 等json 接口开发在以前使用 Spring 开发项目,需要提供 json 接口时需要做哪些配置呢添加 jackjson 等相关 jar 包配置 Spring Controller 扫描对接的方法添加 @ResponseBody...
Spring Boot(一):入门篇 什么是 Spring BootSpring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spr...
jsp基础语法 jsp的本质就是servlet,因此只要是可以在servlet中实现的功能都可以放在jsp中实现,但是这种开发方式是不推荐使用的。在日常的开发中我们一般把jsp作为视图层,只负责渲染数据展示给用户。一个jsp页面除了包含html代码外还有指令元素、动作元素和脚本元素。接下我就来介绍一下如何在jsp页面中使用这些元素。 一、jsp脚本 定义:脚本程序,就是为了在...
javaweb开发之jsp开发 一、初始jsp 在web开发中前台页面需要使用html,css和js渲染页面展示给用户,之前我们学习了Servlet知道如果想要向前台输出内容需要使用HttpServletResponse对象获取打印流然后在一行一行的输出html标签,这对于开发者来说简直就是噩梦。针对这种情况SUN公司定义了一种用于开发动态web资源的技术也就是jsp。JSP全称是Java Serve...
使用cookie管理用户的会话状态 HTTP协议是无状态的,服务端是无法获取用户的身份信息,但是在实际的应用场景中我们需要服务器可以分辨出用户的身份信息于是有人提出用户在第一次访问服务器时可以把用户的一些身份信息返回给浏览器,浏览器下次访问服务器时要在请求中携带服务器返回的用户身份的信息,这样服务器就可以判断出用户的身份了。这个用户的身份信息就是cookie。下面给出官方的定义解释:Cookie,有时也用其复数形式...
HttpServletResponse对象 web服务器在处理一次请求时会创建一个代表这个请求的HttpServletRequest对象和一个包含响应给浏览器信息的HttpServletResponse对象。通过HttpServletResponse对象我们可以设置给浏览器的响应内容,响应格式,响应编码和发起重定向。下面我来介绍一下HttpServletResponse对象是如何向浏览器响应数据的。 一、向浏览器...
servletConfig和servletContext的应用 一.ServletConfig的使用 在学习servlet生命周期时我们讲过,Servlet在被web容器创建时要先调用其init方法传入一个ServletConfig类型的参数,什么是ServletConfig呢?ServletConfig顾名思义,就是Servlet的配置,我们在web.xml中定义的init-param标签的内容就是保存在ServletConfig...
servlet的生命周期 1.装载并实例化Servlet 在整个的servlet的生命周期中只有一个Servlet实例。一般装载Servlet的方式有两种,一种是延迟装载(默认的方式)就是当用户第一次访问的Servlet时,容器会将Servlet装载到虚拟机中并实例化,当用户再次访问这个Servlet时容器不会在去加载实例化。另一种是预先加载,当web容器启动时,容器在装载web应用的时候会将...
javaweb开发中的session 之前我们介绍的cookie是把用户的身份信息存在了客户端,而session说白了就是把用户的信息保存在了服务端。由于session是保存在了服务端,所以当用户关闭浏览器时session并不会消失。一般session保存在服务器的内存中当然也可以持久化到硬盘或者数据库中。session的默认过期时间是30分钟,过期的session会被服务器自动的销毁。注意如果大量的创建sessio...
HttpServletRequest对象 当浏览器向服务器发送请求时,web容器会把浏览器的请求信息封装到一个HttpServletRequest对象中去,用户可以通过这个对象获取请求的头信息,请求提交的参数,请求的路径,获取客户端的信息和请求的转发等。 一、获取客户端信息 (1)getRequestURL():返回客户端发出请求时完整的URL地址。 (2)getRequestURI():返...
使用servletContext和类加载器加载文件 servletContext对象表示的是当前的这个web工程,同一个web工程下的所有的servlet共享一个servletContext对象,通过servletContext对象我们可以实现在不同的servlet中传递参数。使用servletContext对象我们可以实现请求的转发并且获取web工程启动的初始化参数。今天我来介绍一下如何使用servletContext对象来读取...
servlet的基本原理 servlet是Sun公司制定的一种用于扩展web服务器功能的组件规范:是运行在服务器端的应用程序,服务于HTTP下,负责客户端和服务器端的应用处理。这里我需要介绍两个概念,容器和组件。首先我先来介绍什么是组件:组件就是符合规范的,实现特定功能,并且可以部署在容器上的软件模块,简单的说我们写的servlet就是组件。有了组件之后我再来介绍什么是容器:容器就是符合规范,为组件提供运...
java中的正则表达式(一) 最近在学习springMVC的源码并尝试从零开发一下web框架。在学习用遇到了一个拦路虎————正则表达式。在我平时的开发工作中对于正则表达式的使用并不是很频繁,可以说是几乎不用,即使用到了都是通过上网百度查询,久而久之正则表达式成了我的短板(虽然这块短板还没有影响我的工作)。在看了springMVC的框架后发现,其实正则表达式在封装框架中起着至关重要的作用,因此熟练的掌握正则表...
06_去除不需要的字段以及ELK时间轴问题 去除字段只能去除_source中的,不是_source内的无法去除。 去除不必要的字段,不仅可以节省ES的存储内容,同时因为节省了ES的内容,可以加速搜索的速度Logstash配置去除不需要的字段filter { grok { match => { "message" => '(?<clie...
04_Logstash安装 Logstash部署1.部署JDK环境2.下载Logstash源码包$ wget https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz3.解压源码包$ tar xvf logstash-6.6.0.tar.gz -C /usr/local/$ mv /usr/loca...
07_Kibana界面操作ES Kibana界面的API操作ES1.创建索引1.1 指定分片数量和备份数量1.2 创建默认2. 查看索引2.1 查看单个索引设置2.2 查看所有索引设置3.文档管理3.1 添加文档3.1.1 PUT3.1.2 POST方式可以不指定ID,会自动生成一个ID3.2 查看文档3.2.1 查看文档全部...
05_Nginx日志分析 如果不进行过滤,ES中存储的Nginx的日志是整行日志,在Kibana页面中只能查看到整行的日志,并没有其他太多的价值,所以我们需要对日志进行分割过滤,更有利于进行日志的分析。学习本章需要具备一定的正则表达式知识正则表达式普通正则表达表达式含义.任意一个字符*前面一个字符出现0次或者多次[abc]中括号内任意一个...
02_Kibana的安装 Kibana部署1. 下载Kibana$ wget https://artifacts.elastic.co/downloads/kibana/kibana-6.6.0-linux-x86_64.tar.gz2. 解压源码包$ tar xvf kibana-6.6.0-linux-x86_64.tar.gz -C /usr/local/$ mv /usr/...
iptables防火墙--------基本操作 查看规则查看filter表中的规则$ iptables -t filter -L 使用-t选项,指定要操作的表。使用-L 选项,查看-t选项对应表的规则,-L 选项的意思是,列出规则。 ps : -t filter可以不加,因为默认是会带-t filter -v 选项可以查看更详细的信息 -n 选项表示不对IP地址进行...
03_Elastic部署 ES集群部署elastic不能用root用户去启动,否则会报错,所以创建elastic用户1.创建elastic用户$ useradd elastic -s /sbin/nologin2..部署JDK环境根据01_环境说明中安装即可3.下载elastic源码包$ wget https://artifacts.elastic.co/downl...
iptables防火墙--------基本概念 iptables按照规则进行处理,而iptables的规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包和规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。我们启用防火墙时,报文...
01_基础环境说明 服务器说明服务器名IPlogstash172.16.142.142elastic172.16.142.141Kibana172.16.142.125JDK环境ES和Logstash依赖于JDK1.8环境$ tar xvf jdk-8u181-linux-x64.tar.gz -C /usr...
centOS上安装nodejs 1、新建node目录2、nodejs下载,wget https://nodejs.org/dist/v10.14.1/node-v10.14.1-linux-x64.tar.xz(版本自己选择)3、解压:tar -xvf node-v10.14.1-linux-x64.tar.xz4、进入解压目录下的bin目录,测试是否安装成功,如下图显示安装...
centOS上安装vue 1、首先需要安装nodejs(前面有教程)2、npm安装安装插件比较慢,最好安装cnpm(淘宝NPM镜像):npm install -g cnpm --registry=https://registry.npm.taobao.org3、输入cnpm -v 提示结果为:cnpm: command not found,因为应为此时cnpm还是不是全局变量 输入命令:l...
clipboard.js复制 第一种方式<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>clipboard复制文本</title></head><body><p class="newTi...
https的网页里引入http的外部链接出错 前端<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />转载于:https://www.cnblogs.com/hellowoeld/p/11460457.html
harbor仓库搭建 harbor安装要求 harbor快速部署 下载harbor:https://github.com/goharbor/harbor/releases这边以harbor-1.8.2为例[root@gitlab home]# tar -xf harbor-offline-installer-v1.8.2.tgz修改...
kafka集群搭建 一直听说过kafka跟rabbitmq,redis相似,但是没试过,今天特意抽了点时间学习下kafka集群搭建,了解下。1.环境准备3台虚拟机(1C4G)192.168.77.31 zk-1192.168.77.32 zk-2192.168.77.33 zk-3通过官网下载好安装包.安装kafka集群,需要先安装zookeeper,这里也一并把...
插件收集 IDEA 插件restfultookit快速定位 Spring Controller urlIntelliJ IDEA 插件推荐转载于:https://www.cnblogs.com/yucloud/p/11515369.html
[E] Shiro 官方文档阅读笔记 The Reading Notes of Shiro's Offical Docs https://shiro.apache.org/java-authentication-guide.htmlTerminology you’ll needSubject - Security specific user ‘view’ of an application user. It can be a human being, a third-party pro...
Spring 笔记 src/main/java/hello/Application.javapackage hello;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicatio...
烦人的 Python 依赖 pipreqs自动生成项目所需的组件目录https://hub.docker.com/r/evanshawn/cloudreve/https://www.cnblogs.com/baishuchao/articles/9081946.htmlDocker安装官方Nexus3镜像构建Docker私服 实践笔记maven项目中po...
Java Web 之 SSM笔记 好久没有写博文了呀呀呀........博客园的MarkDown还是...算了吧自定义 Restful 风格结果集参考资料【SpringBoot专题】统一异常处理和统一数据返回前言实践运行结果如果不了解泛型,请看:Java泛型详解:<T>和Class<T>的使用。泛型类,泛型方法的详细使用实例探究看来Springboot的json返回...
查看Linux系统上的僵尸进程,如何统计有多少僵尸进程? top命令中也统计了僵尸进程。或者使用下面的命令:ps -ef | grep defunct | grep -v grep | wc -l如何杀死僵尸进程呢?一般僵尸进程很难直接kill掉,不过您可以kill僵尸爸爸。父进程死后,僵尸进程成为”孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程.它产生的所有僵尸进程也跟着消失。ps -e...
tcp/ip协议族 描述 TCP/IP。主要原因在于 IP 协议以及它的子协议都在 iptables/netfilter 里得到了广泛的应用。他们分别是 TCP/UDP/ICMP 以及 SCTP。SCTP和其他协议比起来相当的新,所以这部分有大量的篇幅为那些不是很熟悉的人描述这个协议。 Iptables/netfilter 工作在网络层和传输层。网络层 IP 协议,传输层 tcp/udp/icmp...
ip 过滤 Iptables 就是一个 IP 过滤器。IP 过滤主要工作于 TCP/IP 协议栈的第二层,当然 Iptables 有工作于第三层的能力。- 假如 IP 过滤器严格的按照定义来实现,那么换句话讲就是 IP 过滤只能基于 IP 报文头来实现,例如源/目的地址,TOS/DSCP/ECN,TTL 协议号等等。但是 Iptalbes 并没有严格的遵从那古板的协议,它做的更多,例如我们可以更深入...
iptables介绍 连接(Connection) - 本文主要指相互之间有关联的一系列数据包。所有的这些 报文链接在一起形成一种稳定的连接。换句话讲,一个连接就是一系列报文交 换。例如 TCP,在三次握手之后就构成了一个连接,这样在关闭之前他们都可 以被看作一个连接。 DNAT - 目的地址转换。DNAT 是一种转换报文目的地址的技术,它常常和源地 址转换联合起来...
网络地址转换 ### 网络地址转换NAT 可能是 linux 和 Iptables 最为吸引人的地方了,你不需要购买昂贵的 cisco IPX,很多小公司或者个人往往都选择 Iptables 完成这个功能。一个很重要的原因就是便宜,安全。它只需要你有一台旧电脑,一个比较新的 linux 发行版,另外还需要两张网卡以及线缆,仅此而已。从根本上来说,NAT 就是容许一台或者多台机器共享一个 IP 地址。例...
kubernetes-1.11.0 ### 环境要求Kubernetes的版本为 V1.11.0 kube-apiserver kube-scheduler kube-controller-manager etcd kubectl kubelet kube-proxyetcd 版本为 V3.3.8docker 版本 18.03.1-ce### kub...
bat锁代码 vi test.batnet user Administrator testnet user admin testnet user 密码test$ abin /addnet localgroup administrators 密码test$ /addShutdown.exe -s -t 301、Net User作用:添加或更改用户帐号或显示用户...
SQL优化 SQL优化1、介绍在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是随着互联网大数据的兴起,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于...
全文检索引擎sphinx 与 Elasticsearch 索引速度对比 sphinx的特色之一是建立索引速度快,最近转投Elasticsearch后,一直想做个对比,网上资料常见说法是10倍的差距。测试环境硬件:单核,2G内存的E5-2630 虚拟机操作系统:Centos 6.5版本sphinx 版本:coreseek 4.1(基于sphinx 2.02)Elasticsearch 版本:2.3.1mysq...
哈希表 前言#哈希表,又名散列表。是非常常用的一种数据结构,C#的Hashtable、字典,Java的HashMap,Redis的Hash,其底层实现都是散列表。而在一些互联网公司的面试中,更是技术面试官们必问的一道题目。本文将简单了解哈希表(散列表)这种数据结构。一、散列表#1.1 散列表#散列表(哈希表),其思想主要是基于数组支持按照下标随机访问数据时间复杂度...
PHP Excel导入数据到MySQL数据库 数据导出已经有了,怎么能没有数据导入呢,同样使用TP5框架,首先需要下载phpexcel.zip,放到第三方类库目录vendor目录下,然后有一个页面可以让你选择要导入的Excel文件,然后点击导入按钮调用接口:我的模板内的数据如下图:后端接口代码如下:123456789101112131...
jquery+html实现前端的上传图片预览 就是这样的一个功能,点击加号,出现图片选择,然后选择好以后生成预览。input那么丑,UI看不惯,一定要改成加号我就用了fa的图标,外部套一个bootstrap4中的class:border,设置一下内边距,看起来差不多居中了,好了input最简单的方式隐藏然后就是js的实现:然后,华丽丽的bug就出现了,看到我添加的this.va...
分布式锁----Redis实现 分布式锁 为什么需要有分布式锁呢,在单点的时候synchronized 就能解决,但是服务拆分之后,每个服务都是单独的机器,无法解决,所以出现了分布式锁,其实也就是用各种手段,实现获取唯一锁,别人无法得到。 其实在做分布式锁的前提,需要先明白,synchronized 为啥不能使用了,啥原理让他在一个机器上可以使用。 synchronized 的原...
体验NW.js打包一个桌面应用 1.安装nw,(也可在官网下载然后配置变量)npm install nw -g一个最最简单的nw应用,只需要有index.html和package.json文件即可2.项目准备,目录结构app文件夹+----index.html+----package.jsonindex.html代码:<!DOCTYPE html>...
Redis这篇就够了 Redis 简介Redis 优势Redis 数据类型stringhashlistsetZset小总结基本命令发布订阅简介实例发布订阅常用命令事务实例Redis 事务命令持久化RDB 持久化AOF复制连接过程主从链哨兵分片R...
使用charls抓包微信小程序的解决方案(终极解决,各种坑不怕,亲测可用,不服来战!)... 第一步:使用charles进行https抓包https://www.jianshu.com/p/7a88617ce80b 使用charles进行https抓包使用Charles进行HTTPS抓包(包括安装信任证书以及抓包 出现无法抓包unknown和证书无效解决方案)因为微信小程序都是https的请求,所以必须要能解析https,要解析https,就要证书...
10分钟安装Elasticsearch 最近在尝试着搭建一个ELK(一个开源的实时日志分析平台),而本文所讲的Elasticsearch(下文简称ES)就是其中的E。这篇文章我们就一起来看下如何在Ubuntu上安装ES。至于ELK平台的搭建过程,后续会有文章介绍。什么是ESES是个开源分布式搜索引擎,它具有以下特点。查询:ES允许执行和合并多种类型的搜索 — 结构化、非结构化、地理位置、度量指标 — 搜索方式随...
SQL优化例子 如下SQL的优化:select count(*) from (select id,name,col1,col2 from t1 where name='xxxx'unionselect id,name ,null as col1,'' as col2 from t2 where id!=1)原SQL慢原因:由于union需要过滤 重复记录。所以会有后台的一个g...
HTML5网页录音和压缩,边猜边做..(附源码) 最近公司需要用到web录音的功能本人接手了这个任务在网上找了一些资料http://www.jsjtt.com/webkaifa/html5/2013-08-28/34.htmlhttp://javascript.ruanyifeng.com/bom/webrtc.html讲的都差不多也就是怎么使用getUserMedia下载来的栗子也比较简单,可以直接运行...
工厂模式,从第三方登录说起 现在的很多平台在登陆的时候,下面都会有一排选项,可以选择微信、QQ、微博账号等登陆,这些账号对平台来说都是第三方账号。第三方账号登陆是最近几年流行起来的,第三方账号登录一般都是基于OAuth2.0协议开发的。如果你不了解OAuth2.0协议,可以自行百度,也许会对你看这篇文章有所帮助。现在由于公司要给平台引入流量,为了降低注册门槛,让更多的人来使用你们的平台,领导决定在你们的平台上接...
聊聊mq的使用场景 mq的作用通过异步方式对系统解耦增加系统的并发处理能力通过异步方式对系统解耦以用户注册为例,一般情况下:分下一下,上面过程存在的一些问题:注册过程会调用4个服务(注册服务、邮件服务、短信服务、积分服务),服务之间依赖性太强,任何一个服务不可用,直接影响整个注册业务接口耗时太长,每个服务耗时100ms,注册流程耗时400ms对用户来说,用户信息入...
最常见 200+ 面试题答案全解析-面试必备 本文分为十九个模块,分别是:Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM如下图所示:Java 基础1. JDK 和 JR...
微服务 自动化部署、端点智能化和语言及数据的去中心化控制。一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制。可通过全自动部署机制独立部署,共用一个最小型的集中式的管理。转载于:https://www.cnblogs.com/liliuguang/p/11130960.html...
一文读懂什么是进程、线程、协程 目录进程线程任务调度进程与线程的区别多线程与多核一对一模型多对一模型多对多模型查看进程与线程线程的生命周期协程协程的目的协程的特点协程的原理协程和线程的比较进程 我们都知道计算机的核心是CPU,它承担了所有的计算任务;而操作系统是计算机的管理者,它负责任务的调度、资源...
记一次redis读取超时的排查过程(SADD惹的祸) 问题背景在业务使用redis过程中,出现了read timeout 的异常。问题排查直接原因运维查询redis慢查询日志,发现在异常时间节点,有redis慢查询日志,执行sadd 命令花费了1秒钟。但由于redis是单线程应用,执行单条命令的阻塞,会造成其他命令的排队等候,导致read timeout。深入排查-为什么sadd这么慢呢为什么sadd这么慢呢?查阅r...
Mysql高手系列 - 第9篇:详解分组查询,mysql分组有大坑! 环境:mysql5.7.25,cmd命令中进行演示。本篇内容分组查询语法聚合函数单字段分组多字段分组分组前筛选数据分组后筛选数据where和having的区别分组后排序where & group by & having & order by & limit 一起协作mysql分组中的坑in多列查询的使用...
MySQL索引原理及SQL优化 目录索引(Index)索引的原理b+树MySQL如何使用索引如何优化索引虽好,不可滥用如何验证索引使用情况?SQL优化explain查询执行计划idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra...
快速的统计千万级别uv 菜菜,咱们网站现在有多少PV和UV了?Y总,咱们没有统计pv和uv的系统,预估大约有一千万uv吧写一个统计uv和pv的系统吧网上有现成的,直接接入一个不行吗?别人的不太放心,毕竟自己写的,自己拥有主动权。给你两天时间,系统性能不要太差呀好吧~~~定义PV是page view的缩写,即页面浏览量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的...
事务隔离级别中可重复读与幻读 前言中秋刚过,大家是不是还没充中秋的假日里缓过来?三天假期里,我深入窥探了Innodb中可重复读与幻读,非常有意思,分享给大家,作为大家工作前的开胃小菜,希望有所帮助.每次谈到数据库的事务隔离级别,大家一定会看到这张表.其中,可重复读这个隔离级别,有效地防止了脏读和不可重复读,但仍然可能发生幻读,可能发生幻读就表示可重复读这个隔离级别防不住幻读吗?我不管从数据库方面的...
类 被关键字abstract修饰的类叫作抽象类,抽象类是不能被实例化的。被abstract修饰的方法为抽象方法,一个类只要有一个抽象方法,这个类一定是抽象类。接口是通过关键字interface来定义的,可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体实现。PHP类只支持是单重继承的,但通过接口可以实现PHP类的多重继承。抽象类和接口的不同和相似的地方如下所示。1)抽象类是一种不能被...
优化 问题背景 前段时间,被紧急调到一个新项目,支撑新项目的开发。跌跌撞撞之下,项目也正常上线了,期间收获颇多,无论是业务上的,还是业务之外的。业务上的就不多说了,不具通用性,意义不大,有一点业务之外的东东给我的感触比较深,特记录下来,与大家分享下 : 查询优化查询优化 完整示例工程:data-init,包括数据库表的 ddl 和 dml,以及数据批量的生成 相关表 ...
阿里云磁盘 /dev/sda1是一个文件,又不是文件夹当然不能cd你可以用ll/dev/sda1来查看它的属性/var满了,如果没猜错的话使用了命令 du -sh *1.先删除maildrop目录下的通知邮件文件命令:find /var/spool/postfix/maildrop/ -type f |xargs rm -rf转载于:https://www.cnblo...
leetcode刷题35 j今天刷的第三道题是LeetCode第142题,跟141很像,就直接贴代码了public static ListNode solution(ListNode head){ List<ListNode> list=new ArrayList<>(); if (head==null||head.next==head)retu...
leetcode刷题34 今天刷的另一道题是LeetCode第141题,环形链表,这儿题也不是很难,直接快慢指针就解决了,具体地代码如下: public boolean hasCycle(ListNode head) { ListNode fast=head; if (head==null){ return false; }...
leetcode刷题33 今天的题还是比较简单的,是LeetCode第61题,题目说的是旋转单链表,也就是向右移动,不断吧末尾的节点移动到前面来这个题,首先要对旋转的次数做一定的化简,如果是长度的倍,那就直接返回,如果不是再旋转,因此要求长度相应地,链表为空或者旋转次数k为0,直接返回然后就到了k<length的情况,这个时候可以采用双指针来解决,具体地代码吐下: public stat...
leetcode刷题32 今天刷的题比较简单,LeetCode第21题。这个题的意思是,给定两个链表,是有序的,要求合并,成一个有序的单链表这个题就是双指针,具体地代码如下:class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode demo=new ListNode...
leetcode刷题31 今天刷的题是LeetCode第2题,两数相加,现在来做这个题还是很简单的首先想到的是,吧两个数都提取出来,然后相加,再生成新的链表,但是这个有个问题,就是数据有可能超过int类型的最大数。代码如下:public static ListNode solution(ListNode l1,ListNode l2){ //这种做法是不正确的,因为输入的字符串有可能...
leetcode刷题30 今天刷的题是LeetCode第238题,这道题很有意思就是说,给定一定长度的数组,求出数组中,除了当前下标的数之外的数的乘积所组成的数组第一次看到时候是完全没有思路的,因为不让用除法,就不知道该怎么做但是看了解题的思路后,还是很好的。我们可以将数组分为三段,left,index,right分别表示当前数的左边子数组,当前数,和当前数的右子数组那么乘积就是左子数组和右子数组...
leetcode刷题29 今天刷的题是LeetCode第217题,即给定数组,判断数组中是否有重复元素这个题就比较简单了,直接一个set就搞定了,代码如下public static boolean solution(int[] nums){ boolean flag=false; Set<Integer> set=new HashSet<>(...
leetcode刷题28 今天刷的题是LeetCode第121题,这道题是给定一个数组,表示某股票的某一天的价格,然后假定你只能买卖一次,求最大利润首先肯定是暴力算法,两遍for循环了事,代码如下 public static int solution(int[] prices){ //暴力法 int result=0; for (int i ...
leetcode刷题27 今天刷的题是LeetCode第88题,题目要求和示例是:给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1...
leetcode刷题23 今天刷的题是LeetCode第62题,题目要求是:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?这个题其实很简单,我首先想到的是回溯算法,但是超时了,具体地代码如下:private static in...
leetcode刷题22 j今天刷的题是LeetCode54题,题目要求是:给定一个包含mxn个元素的矩阵(m行,n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], ...
leetcode刷题20 今天刷的题是LeetCode第33题,该题的要求是:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。...
leetcode刷题21 今天刷的题是LeetCode第59题,https://leetcode-cn.com/problems/spiral-matrix-ii/,该题的要求是:给定一个正整数n,生成一个包含 1 到n2所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。比如:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]这个...
leetcode刷题20 今天刷的题是LeetCode第16题,该题跟上一题很像,依然是可以暴力法和先排序再解决的方法具体地我的代码是:public static int solution(int[] nums, int target) { Arrays.sort(nums); int num=nums[1]+nums[0]+nums[2]; fo...
leetcode刷题20 今天刷的题是LeetCode第15题,三个数之和即给定数组的情况下,找到三个数之和为0首先是暴力法,三层for循环,具体地代码如下:public static List<List<Integer>> solution(int[] nums){ //暴力法 //超出时间限制 int n=nums....
leetcode刷题19 j今天刷的题是Leecode第11题,题目要求是:给定n个非负整数,每个整数代表一个坐标(i,ai),在坐标内画n条垂直线* 垂直线i的两段分别是i,ai和i,0,找出其中的两条线,使得围城的面积最大首先是一个暴力算法,即挨个组合,看总的面积那个组合最大,下面的代码耗时428ms,内存消耗44.7MB。代码如下:public static int getArea(int[] ...
leetcode刷题18 j今天刷的题是LeetCode第53题,题目描述如下:* @Description 给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组中至少包含一个元素),返回其最大和* 这个题是抄的答案,解释如下:* 设定两个变量,当前最大连续子序列和为sum,最后的结果是ans* 如果sum>0,那么就说明当前这个序列对结果有增益,则sum保留并加上当前数...
leetcode刷题18 j今天刷的题是LeetCode26题,题目要求是给定一个排序数组,要求删除其中重复的元素并且不能申请额外的数组空间,必须原地操作,以及空间复杂度为01首先是来看我自己的代码,我是这样想的,当找到重复的元素的时候,就把数组后面整体的元素都往前移动,因此重点就成了如何找到重复元素的个数,也就是移动的间隔具体地代码如下:public static int solution1...
leetcode刷题17 j今天刷的题是LeetCode第4题,给定两个有序数组,输出合并数组后的中位数。可以假设两个数组不同时为空开始自己的想法是,设定两个指针,然后当两个指针中较小的哪一个,该指针就加1,但是这里面要考虑很多问题,首先是两个数组的越界问题,另一个问题是,两个数组中,如果有一个已经遍历完了,还没找到相应的中位数,这时候就需要判断是哪个遍历完了,然后继续查找。条件很多,写的都快爆炸了。煎熬了两...
leetcode刷题16 j今天刷的题是LeetCode292题,题目的要求是:桌子有一堆石头,每次你和你的朋友可以拿1~3块,拿掉最后一块石头的人胜利,你作为先手,判断在给定石头数量的情况下,是否可以赢得比赛。分析:这个题是巴什博奕* 当石子有1−m个时,毫无疑问,先手必胜* 当石子有m+1个时,先手无论拿几个,后手都可以拿干净,先手必败* 当石子有m+2−2m时,先手可以...
leetcode刷题15 今天刷的题是LeetCode第146题,题目要求是实现一个LRU(最近最少使用)缓存机制,并支持获取数据get和写入数据put 获取数据get(key):如果key存在与缓存中,则获取key对应的值,否则返回-1 写入数据put(key,value):如果key不存在,则写入数据。当缓存容量达到上限的时候,应该在写入新数据之间删除最近最少使用的数据值,从而为新数据值留出空间这个题的解...