自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

好好

坚持博客,坚持己心,小女子无才,只希望能够让需要的人刚好看到

  • 博客(38)
  • 收藏
  • 关注

原创 分布式唯一Id生成方案

一 背景https://www.jianshu.com/p/5a71cd4e2de5分布式系统中我们会对一些数据量大的业务进行拆分,如:订单表。因为数据量巨大一张表无法承接,就会对其进行分库分表。但一旦涉及到分库分表,就会引申出分布式中唯一主键Id的生成问题。文章中需要唯一ID的特性:整个系统ID唯一ID是数字类型,而且趋势递增的ID简短,查询效率快什么是递增?12,13...

2020-03-29 10:54:32 190

原创 dubbo+zookeeper

一 分布式系统1 概念一个整体一致对外并且处理同一个请求,内部的每台计算机都可以通信(rest/rpc)。经典的例子:一个客户下单,页面,到有商品服务,订单服务,账单服务。根据业务原有系统拆分,对客户不透明,对不同的服务可以进行集群。面向服务的开发就是所谓的微服务。二 zookeeper1 概念和特性概念:zookeeper是一个开源分布式协调服务。特性:2 安装...

2020-03-13 11:07:01 523

原创 Linux OOM killer

一 起因在公司的报警群里群里发现某个项目找不到服务,其它项目正常使用二 解决步骤1 看项目服务是否重启看tomcat启动日志时间2 oomdemsg | grep ‘outofMemery’ -c100:demsg是列出加载到内核中的所有驱动信息或者grep “Out of memory” /var/log/messageslinux 终端报错 Out of memory: ...

2020-03-10 20:42:50 187

原创 juc-java.util.concurrent.locks包+AQS

AQS(AbstractQueuedSynchronizer)队列同步容器tryAcquire()尝试是否获得许可如下图,它维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列)。state的访问方式有三种:getState()setState()compareAndSetState()AQS定义两种资源共享...

2020-02-26 17:13:15 213

原创 synchronized使用和实现原理

一 synchronized 使用1. 对象锁: a. 同步代码块synchronized(this),synchronized(类实例对象),锁是小括号中的实例对象 b. 同步非静态方法synchronized method,锁是当前对象的实例对象2. 类锁: a. 同步代码块Synchronized(类.class),锁是小括号中类的对象 b. 同步静态方法Synchronized...

2020-02-26 15:10:34 287

原创 JUC-java.util.concurrent.atomic包

一 AtomicIntegerpublic class AtomicIntegerExample{ // 请求总数 public static int clientTotal = 5000; // 同时并发执行的线程数 public static int threadTotal = 200; public static AtomicInteger c...

2020-02-26 14:39:55 129

原创 Java并发编程和高并发基础三

七 多线程高级类java.util.concurrent包下的类,callable也是在这个包下的。解决原理中出现的问题:可见性 原子性 有序性7.1 synchronized,ReentrantLock7.1.1 synchronizedjvm级别,不会出现死锁是一种同步锁,它修饰的对象有以下几种:1、修饰代码块,被修饰的代码块称为同步语句块。其作用的范围时大括号{}括起来的代码,...

2020-02-25 20:54:42 111

原创 idea的美妙之处

查看函数调用关系。

2020-02-20 14:21:59 581 1

原创 对C端客户限制ip频繁访问-redis

第1章 前提知识1.1 x-forwarded-for,X-Real-IP,getRemoteAddr()区别x-forwarded-for :X-Real-IP :获取最外层ip,即客户的真实ip为了让服务器能得到客户端的ip,可以在nginx中做些赋值操作:proxy_set_header X-real-ip $remote_addr;注意 :但是如果客户端使用正向代...

2020-02-15 10:54:42 261

原创 String和JavaObject转换

一 String->JavaObject NewCarOrderDTO newCarOrderDTOList = JSON.parseObjce(str, NewCarOrderDTO.class);二String->Array[JavaObject]List<NewCarOrderDTO> newCarOrderDTOList = JSON.parseArray...

2020-01-11 17:18:06 565

原创 Charles

一 远程路径到本地下图控制是否走本地,勾选为走 不勾选为不走下图控制所有路径跳转二 不代理系统将此对勾去掉 可以不代理系统

2020-01-11 11:39:17 562

原创 java并发编程和高并发基础二

三 多线程基础类共享数据:如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据(共享一个继承了Runnable接口的对象)如果每个线程执行的代码不同,这时候需要用不同的Runnable对象,实现一个Runnable接口匿名内部类来新建线程来操作同一个对象实例。![在这里插入图片描述](https://img-blog.csdnimg....

2020-01-01 16:28:02 328

转载 代码优化(转)

https://www.cnblogs.com/sanyejun/p/7850622.html

2019-12-24 16:29:38 107

原创 常用Linux指令

findfind ~ -name “1*” :在home目录寻找名字为1.txtfind ~ -iname “2”:名字不区分大小写find ~ | grep ‘2’ : 和find ~ -name “2” 类似man findgrep:管道,只处理前一个命令正确输出grep ‘p[true]’ tomcat | grep -o '[e[0-9a-z]]'c :[]代表正则表达式,所以...

2019-12-02 14:16:04 201

原创 《高性能mysql》读书笔记

序言MyISAM引擎->InnoDB引擎QPS主备复制InnoDB引擎性能优化 和诊断方法序:4.0:MyISAM引擎5.0:InnoDB引擎 6.5万QPS第1章 MySQL架构与历史1.1MySQL逻辑架构MySQL逻辑架构图:中间部分比较重要最下边的存储引擎负责mysql中数据的存储和提取。大多数mysql的核心在第二层,包括查询解析、分析、优化、缓...

2019-11-25 14:07:55 1515

原创 SQL存储过程和函数

一 简介嵌入式SQL:与主语言通信,比如:Java,C++过程化SQL块主要有两种类型:匿名块和命名块。匿名块每次执行时都要进行编译,不能存储到数据库中,也不能在其他过程化SQL块中调用。过程和函数都是命名块,被编译后保存到数据库中,称为持久性存储模块,可以被反复调用,运行速度较快。二 存储过程创建create procedure aas <过程化SQL块>修改alte...

2019-08-11 14:02:13 232

转载 jmeter入门和基于dubbo接口的jmeter测试

jmeter入门:https://blog.csdn.net/u012111923/article/details/80705141基于dubbo接口的jmeter测试:https://www.jianshu.com/p/094f7c779599 注意:jar包是depency版的jar包

2019-07-08 18:15:23 96

原创 java项目和maven项目获取资源文件的几种方式

概述java开发中读取resource文件:URL getResource(),InputStream getResourceAsStream()注意:maven会有特定的目录结构具体方法1 本类比如:a.java在包test,有个a.xml文件URL url = this.class.getResource(“a.xml”);//类的包加获取资源URL url = this.cl...

2019-06-10 13:50:31 1409

原创 mysql字符集与排序规则

数据库需要适应各种语言和字符就需要支持不同的字符集(character set),每种字符集也有各自的排序规则(collation)。系统管理在安装时定义一个默认的字符集和排序规则。也可以在创建数据库时对数据库范围,建表时对表级别,甚至列级别设置字符和排序规则。show character set;查看排序规则:(后缀_cs或者_ci的意思是区分大小写和不区分大)show collatio...

2019-05-21 14:26:31 987

原创 navicat导入导出csv格式数据

导出csv数据1.在表上右击,选择导出向导。2.点击继续3.选择编码和命名,点击继续4.选择需要导出的列,点击继续5. 选择相应规则来进行导出,点击继续6. 点击开始,开始导出导出 同理,只要导出的文本格式符合规则就可以选择导入文本的对应在那一列进行导出。...

2019-05-05 10:14:53 7473

原创 (加密、解密)和(签名、验签)

一 加密 解密二 签名和验签

2019-03-27 19:28:55 1531

原创 java并发编程和高并发基础一

一 基本概念1 并发多线程处理,要保证线程的安全执行。2 高并发同时处理多个请求,可以通过这种手段优化3 线程安全性当多个线程访问同一个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。原子性 有序性 可见性二 一些需要知道的原理1 JMM是一种规范,规范了jvm...

2019-02-14 11:20:41 368

原创 java反射和注解

一 反射存在的意义框架设计的灵魂A a = new A();jvm启动,将java代码编译成.class文件,然后类加载器加载进jvm内存中,类加载到方法区中,创建对象到堆中。jvm创建对象前,会先检查类是否加载;若加载好,则为对象分配内存,初始化也就是new A();反射是当程序运行时,需要动态的加载一些类这些类可能之前用不到所以不用加载jvm,而是运行时根据需要才加载。比如项目有时...

2019-01-21 10:20:31 159

原创 log4j

由于项目控制台打印不出日志,所以学习了log4j,所以来总结一下。有properties和xml两种形式,下面来以xml形式来学习一下。在web.xml中配置对应的log4j的监听器。 &lt;listener&gt; &lt;listener-class&gt;org.springframework.web.util.Log4jConfigListener&lt;/l...

2019-01-15 21:12:38 138

原创 xml,dtd,xsd演进的简单介绍

XMLXML被设计用来传输和存储数据的。XML标签没有被预定义。需要自行定义标签示例:note.xml&lt; ?xml version=“1.0”?&gt;&lt; note&gt;&lt; to&gt;George&lt; /to&gt;&lt; from&gt;John&lt; /from&gt;&lt; heading&gt;Reminder&lt; /headin

2019-01-15 11:18:40 164

原创 spring

Spring IOC一 目的 概念 作用spring实现控制反转的是IOC容器,管理Bean,解耦组件之间的依赖关系。其实现是依赖注入(DI),体现了Ioc的设计原则。二 设计1 底层类ApplicationContext和BeanFactorySpring Ioc容器的设计主要是基于BeanFactory和ApplicationContext两个接口,ApplicationCont...

2019-01-13 23:21:40 252

原创 java基础之枚举,日期,泛型,UUID,异常

一、枚举1 定义在某些情况下,

2019-01-06 21:28:23 213

原创 IO流的总结

简介字节输入流的抽象基类是InputStream,常用子类是FileInputStream和BufferedInputStream。字符输入流抽象基类是Reader,常用的子类是BufferReader,InputStreamReader,FileReader。二 普通输入流和带缓存的字节输入流区别字节流1.FileInputStream一切文件在系统中都是以字节形式保存的,需要用...

2018-12-23 17:20:07 157

原创 request和response

一、servlet服务器端小程序。+是运行在web服务器之上,在服务器端调用、执行、并按servlet规范编写的java类。对客户端的请求进行处理,对客户端返回响应。servlet容器:web服务器中专门负责装载、运行servlet的一个模块。二、request和response1.请求与响应javax.servlet.ServletRequest:service()javax.s...

2018-12-10 14:20:54 986 4

原创 监听器和过滤器

一、Listener当服务器发生了某个事件(Event)时,调用事件处理程序。web监听器是一种servlet中的特殊类,能帮助开发者监听web中的特定事件,比如servletContext,HttpSession,ServletRequest的创建和销毁;变量的创建、销毁和修改等。可以在某些动作前后增加处理,实现监控。编写监听器的步骤:编写实现类在web.xml中进行部署编写测试页...

2018-12-10 14:17:33 1759

原创 前后端分离、session和cookie、token

前后端分离需要token(令牌)来进行互通。前端第一次登录后,后端使用userid,时间戳等信息组成字符串,然后使用加密技术来进行加密,这就是token,传给前端。以后前端在调用接口时,就把token带上,后端拦截器取得这个token后进行解密,如果可正常解密拿到相关数据,则认为是合法信息。前端和后端分属不同项目,域名不同,需要用CROS进行跨域处理。HTTP是基于请求/响应模式、无状态的...

2018-12-07 23:33:32 14418 2

原创 同源策略和跨域

一、同源介绍同源策略:限制从同一个源加载的文档或脚本与另一个源的资源进行交互。是用于隔离潜在恶意文件的重要机制。1.怎么算是同源如下的访问方式:2.如果没有同源策略的危险场景没有同源策略的接口请求:当你进行了接口请求的时候,服务器验证之后会在响应头set-cookie字段,下次再发起请求的时候,浏览器自动将cookie附加在Http请求头字段cookie中,就可以验证登录过。当我们...

2018-12-06 16:47:16 1770

原创 Git总结

一、介绍提交代码,代码统一管理二、原理主要分为workspace(工作区),index/stage(暂存区),Repository(本地仓库),Remote(远程仓库)三、操作

2018-12-04 11:53:26 286

原创 Tomcat学习

一、介绍Tomcat服务器开源、免费Web应用服务器。尽管Tomcat可以作为独立Java Web服务器,但对静态资源(HTML、图像文件等)的处理速度,Web服务器管理都不如Apache、IIS服务器等其他专业的HTTP服务器,可以通过Tomcat服务器来运行Servelt/JSP组件。二、目录介绍bin:Tomcat服务器启动和关闭tomcat脚本等文件,有windows和Linux脚本...

2018-12-03 23:58:15 697

原创 maven

介绍管理jar包,maven仓库。maven核心知识maven目录目录,资源文件夹(java),包Src (源代码目录)-main-java-package-test-java-packageResourcesmaven命令Mvn -v:查看版本Mvn compile:编译,需要什么去pom.xml查找,本次仓库查找,没有去远程仓库寻找。src同级目录target中存...

2018-11-16 18:41:52 177

转载 memcached和redis支持上的区别

&nbsp; &nbsp; 我这段时间在用redis,感觉挺方便的,但比较疑惑在选择内存数据库的时候到底什么时候选择redis,什么时候选择memcache,然后就查到下面对应的资料,是来自redis作者的说法(stackoverflow上面)。&nbsp; &nbsp;&nbsp;You should not care too much about performances. Redi...

2018-11-15 14:15:54 133

原创 memcache基础入门

介绍分布式高速缓存系统,访问压力大,作为缓存层,缓解压力key,value,用来存储小块的任意数据(字符串,对象),不支持LIst,array数据格式非持久化存储:丢失对系统也不会产生影响,断电内存会被清除分布式存储:不适合单机使用。可以专门一台服务器作为memcache的部署,不要和应用部署在一起,很占内存。过程:首次访问:从RDBMS中取得数据保存到memcach...

2018-11-15 12:49:04 228 1

原创 java this 和 super 关键字

this和super由于最近看源码的时候发现this关键字的出现频率颇高,可能是自己没有注意到的一个知识点,现在来补充记录一下。this和super一般是放在一起学习。thisthis是用于访问本类中的成员变量,成员方法,和构造方法。表示当前对象。supersuper用于访问父类中的成员变量,成员方法,和构造方法。this和super的区别this如果没有在本类中寻找到需要...

2018-11-13 17:10:05 131

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除