自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式笔记

摘自:http://c.biancheng.net/view/1324.html1.开闭原则:软件实体应当对扩展开放,对修改关闭。开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。可以理解为超类(接口)抽象出共同的行为特性,可以有多种不同的子类实现。2.里氏替换原则:继承必须确保超类所拥有的性质在子类中...

2023-02-06 09:41:10 329 1

原创 设计模式笔记恢复

设计模式笔记

2023-02-06 09:39:21 129

原创 钢琴谱网站

中国曲谱网 http://www.qupu123.com环球钢琴网 https://www.hqgq.com/pu/show/57078

2021-03-28 13:57:08 390

原创 Java 发生 OOM 后还能运行么?

在查询网上资料后,个人认为取决于两点,一是发生oom的代码是否有被try catch,二是发生oom的对象是否引用可达。如果oom的代码没有被try catch,则当前线程不会退出,oom对象相应也会保持引用可达状态,此时对象不会被full gc回收,导致整个程序瘫痪。若oom的代码被try catch了,但是其对象被其他线程共同引用,比如说该对象是一个静态变量且存在引用,这时候full gc也回收不掉该对象,整个程序也会瘫痪。但是如果同时满足try catch以及oom对象引用不可达,那么在线程正常结束后

2020-08-31 15:14:08 2026 1

原创 mysql面试

以下是自己整理以及参考网上资料所得的一些mysql面试题sql优化1.尽量把查询级别(type)优化到ref2.尽量使用索引覆盖(extra为using index),即select的字段和where的字段全部都包含在索引中3.索引往小表加,往常用的字段加,小表驱动大表(Nest Loop Join)4.不要在索引上进行操作(计算,类型转换,函数),否则索引失效,注意,如果是整...

2019-12-26 15:47:43 206

原创 生产环境中同步任务的坑

如果你们的后端是分多机部署的,那么请注意给同步任务加上分布式锁,防止同步任务重复执行关于springBoot的@Scheduled还有一个需要注意的点,使用该注解后的同步任务在同一时刻只允许一个任务执行。如果希望同一时刻可以执行多个任务,只需要在在启动类中加入以下代码@Beanpublic TaskScheduler taskScheduler() { ThreadPoolTas...

2019-12-05 15:57:47 177

转载 jvm调优-xmx和xms设置成一样的好处

转自:https://www.zhihu.com/question/57417626把xmx和xms设置一致可以让JVM在启动时就直接向OS申请xmx的commited内存,好处是:1. 避免JVM在运行过程中向OS申请内存2. 延后启动后首次GC的发生时机3. 减少启动初期的GC次数4. 尽可能避免使用swap space堆内存的收缩与扩容机制:...

2019-11-29 10:29:07 6783

转载 SpringBoot请求线程优化

转自:https://blog.csdn.net/liuchuanhong1/article/details/78744138前言:在我们的实际生产中,常常会遇到下面的这种情况,某个请求非常耗时(大约5s返回),当大量的访问该请求的时候,再请求其他服务时,会造成没有连接使用的情况,造成这种现象的主要原因是,我们的容器(tomcat)中线程的数量是一定的,例如500个,当这500个线程都用来...

2019-10-28 16:07:33 3034

转载 Maven依赖问题解决思路(maven依赖原则)

https://segmentfault.com/a/1190000000640821?utm_source=tag-newest

2019-06-19 09:55:16 574

原创 clickhouse中文文档

https://clickhouse.yandex/docs/zh/introduction/distinctive_features/

2019-05-17 11:43:09 17649 2

转载 Java反射机制的适用场景及其利与弊

转自:https://blog.csdn.net/zolalad/article/details/29370565Java反射机制的适用场景及其利与弊一、反射的适用场景是什么?1).Java的反射机制在做基础框架的时候非常有用,有一句话这么说来着:反射机制是很多Java框架的基石。而一般应用层面很少用,不过这种东西,现在很多开源框架基本都已经给你封装好了,自己基本用不着写。典型的除了H...

2019-03-20 16:39:18 415

原创 人脸识别API简介及资费

需要计费的接口如下,另有删除个体,删除人脸等接口不进行计费。  主要接口:  人脸检测与分析:检测给定图片中的所有人脸( Face )的位置和相应的面部属性,位置包括(x, y, w, h),面部属性包括性别( gender ), 年龄( age ), 表情( expression ), 魅力( beauty ), 眼镜( glass )和姿态 (pitch,ro...

2018-10-30 09:43:42 3469

转载 treemap为什么value返回null

转自:https://blog.csdn.net/tracybug/article/details/52515580前段时间工作中用到TreeMap集合,好久没用过以至于忘了会get到null值,现在把这个Mark一下。问题描述:本来TreeMap是用来**去重**并排序的。当我们因为需要**强制其存储重复键值**的时候,通过get去获取对应的值就会发生错误,取出null值。以下简单写...

2018-10-12 15:02:52 1059 2

原创 剩下最后一件商品,被同时购买怎么办

1.设置事务,在保存库存后若库存<0,进行回滚,根据返回的库存数对客户进行提示是否购买成功,这是在spring中解决问题 。2.UPDATE goods SET a = a-1 WHERE goodNo = 1 AND a>0。数据库中解决问题,商品>0时才会进行减操作,根据返回的库存数对客户进行提示是否购买成功。3.设置同步方法,并且在每次进行减库存操作前查询是否库存数...

2018-10-08 14:19:13 5926 2

原创 mysql中内连接,外连接,等值连接,非等值连接,自然连接的区别和联系

内连接,外连接实际上都是在笛卡尔积(join)的基础上对记录进行筛选。等值连接和非等值连接:这两者同时包含在内连接和外连接中,因为内连接和外连接都是需要连接条件的,条件为=则为等值连接,反之为非等值连接。自然连接:等值连接的一种,使用natural join后面可以不使用on接查询条件,默认会将关联表中的相同字段进行比较,查询出的结果相同的字段会去重(值必须相等)。内连接:使用inne...

2018-10-08 09:41:52 8871

转载 RMI和RPC的区别

转自:https://blog.csdn.net/a363722188/article/details/41147675远程对象方法调用并不是新概念,远程过程调用 (RPC-remote procedurecall) 已经使用很多年了。远程过程调用被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异。即 RPC 支持多种语言,而 RMI(RemoteMethodIn...

2018-09-16 15:04:32 446

转载 mysql内置函数大全

转自:https://www.cnblogs.com/noway-neway/p/5211401.htmlmysql中的内置函数mysql内置函数列表可以从mysql官方文档查询,这里仅分类简单介绍一些可能会用到的函数。1 数学函数abs(x)pi()mod(x,y)sqrt(x)ceil(x)或者ceiling(x)rand(),rand(N):返回0-1间的浮点数,使...

2018-09-16 11:23:13 26207

转载 mybatis动态sql学习

转自:https://www.cnblogs.com/ysocean/p/7289529.html目录1、动态SQL:if 语句 2、动态SQL:if+where 语句 3、动态SQL:if+set 语句 4、动态SQL:choose(when,otherwise) 语句 5、动态SQL:trim 语句 6、动态SQL: SQL 片段 7、动态SQL: foreach 语句 ...

2018-09-16 11:14:58 389

转载 oauth2.0学习

转自:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html一张图搞定OAuth2.0目录1、引言 2、OAuth2.0是什么 3、OAuth2.0怎么写1、引言本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式非常简单的一件事情,网上一堆神乎其神的讲解,让我不得不写一篇文章来终结它们。一...

2018-09-10 08:58:38 450 1

转载 @PostConstruct学习

转自:https://blog.csdn.net/u014515854/article/details/78832790其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,那么首先就必须得生成对象p与对象a,才能执行注入。所以,如果一个类A中有个成员变量p被@Autowired注解,那么@Autowired注入是发生在A的构造方法执行完之后的。如果想在生成对象时候完成某些初始化操作...

2018-09-09 11:39:41 4672

转载 RestTemplate学习

转自:https://blog.csdn.net/itguangit/article/details/78825505详解 RestTemplate 操作作为开发人员,我们经常关注于构建伟大的软件来解决业务问题。数据只是软件完成工作时要处理的原材料。但是如果你问一下业务人员,数据和软件谁更重要的话,他们很可能会选择数据。数据是许多业务的生命之血。软件通常是可以替换的,但是多年积累的数据...

2018-09-09 11:22:55 339

转载 @Lazy注解学习

转自:http://blog.51cto.com/4247649/2118337今天主要从以下几方面来介绍一下@Lazy注解 @Lazy注解是什么 @Lazy注解怎么使用  1,@Lazy注解是什么 @Lazy注解用于标识bean是否需要延迟加载,源码如下:   @Target({ElementType.TYPE, ElementType.ME...

2018-09-09 10:56:56 10037

原创 ThreadLocalMap的enrty的key为什么要设置成弱引用

ThreadLocalMap的Enrty代码实现:将Entry的Key设置成弱引用,在配合线程池使用的情况下可能会有内存泄露的风险。之设计成弱引用的目的是为了更好地对ThreadLocal进行回收,当我们在代码中将ThreadLocal的强引用置为null后,这时候Entry中的ThreadLocal理应被回收了,但是如果Entry的key被设置成强引用则该ThreadLocal就不能被回...

2018-09-07 11:37:09 6892 1

转载 强引用、软引用、弱引用、虚引用

转自:http://www.cnblogs.com/dolphin0520/p/3784171.html想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:  一.了解 强引用、软引用、弱引用、虚引用的概念  二.进一步理解软引用和弱引...

2018-09-07 09:43:11 103

转载 字典排序

此例子来自:https://zhidao.baidu.com/question/83236318.html比如ilove 和baray先比较第一个字符i 和 bb<i b是第2个 ,i是第9个 2 < 9于是 baray < ilove如果第一位相同,就比较第二位,例如:abcdd<abcdeaaaay<aaaaz如果其中之一是另一个的前缀,则...

2018-09-06 10:02:57 123

转载 为什么要使用serialVersionUID

整理自网上:(1)对于实现了Serializable接口的类,可以将其序列化输出至磁盘文件中,同时会将其serialVersionUID输出到文件中。(2)然后有需要使用时,再从磁盘将对象内容及serialVersionUID读入内容中的某个对象。(3)将磁盘内容读入对象时,需要进行强制类型转换,如Person person = (Person)ois.readObject(); ...

2018-09-05 16:44:55 1908

转载 RMI学习以及深入理解

转自:http://blog.163.com/eye_ziye/blog/static/21447105120131127105623452/ Java RMI (Remote Method Invocation 远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式...

2018-08-12 11:28:42 419

原创 javac编译注意点

以此工程为例 我电脑下该工程的路径为:D:\软件\都是Java啊\工作环境\RMI1.加入要编译remotingclient包下的Program(该类路径为D:\软件\都是Java啊\工作环境\RMI\src\main\java\site\zy9\rmi\remotingclient\Program),此类引用了PersonEntity和PersonService,我们打开cmd,首先要c...

2018-08-12 10:25:44 174

原创 activemq主题模式在spring中的基本操作

1.在父配置文件中增加 <!-- topic 发布订阅 --><bean id="topicDestination" class="org.apache.activemq.command.ActiveMQTopic"> <constructor-arg value="topic"></constructor-arg>&amp

2018-08-09 14:26:03 155

原创 activemq队列模式在spring中的基本操作

父配置文件,供Producer和Consumer共用<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:c...

2018-08-09 11:41:08 132

转载 mvc:annotation-driven和context:annotation-config区别

转自:https://www.cnblogs.com/dreamroute/p/4493346.html  Spring家族的配置中这两个配置的意义,说具体点其实根据标签的shecma就能看出来,mvc,主要就是为了Spring MVC来用的,提供Controller请求转发,json自动转换等功能,而context这个主要是解决spring容器的一些注解。  从百度参考了两个帖子: ...

2018-08-09 10:21:16 871

转载 spring配置文件头部配置解析

转自:https://blog.csdn.net/f_639584391/article/details/50167321  最近由于公司的项目用springmvc,所以自己也必须学习了,相信大家对spring的配置文件应该都看的很多了,那么大家对配置文件头部的那一坨坨的东西到底是什么了解吗?下面我就把自己的一些见解和大家分享一下:       首先拿一段大家熟悉的头部配置文件来看: ...

2018-08-09 09:53:08 2702 1

转载 微服务,分布式,集群三者区别联系

转自:https://blog.csdn.net/qq_37788067/article/details/79250623概念:集群是个物理形态,分布式是个工作方式。分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上1:分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做...

2018-08-08 17:10:19 23060 8

原创 activemq主题模式基本操作

package site.zy9.jms.topic;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.MessageProducer;import jav...

2018-08-08 16:09:53 489

原创 activemq队列模式基本操作

package site.zy9.jms.queue;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.MessageProducer;import jav...

2018-08-08 16:03:13 282

原创 activeMQ的两个默认端口8161和61616的区别

8161是后台管理系统(url中访问后台管理页用此端口),61616是给java用的tcp端口

2018-08-08 10:07:37 19453 2

原创 activemq启动报错

错误原因是jdk版本与activemq版本不匹配,我下载的activemq是最新版的5.15.4,必须依赖jdk8及以上版本,而我的jdk是1.7 以下链接是Apache ActiveMQ 各个版本所依赖的JDK版本https://blog.csdn.net/yanfeipei/article/details/75267384...

2018-08-07 16:28:59 1270

转载 并行与并发的区别

转自:https://www.bughui.com/2017/08/23/difference-between-concurrency-and-parallelism/很多年前,上操作系统课的时候,老师告诉我们“并行是指同一时刻同时做多件事情,而并发是指同一时间间隔内做多件事情”。这里的差别初看确实简单明了,不过较真的我表示不同意。老师们说的话,貌似并不严谨。时刻是指时间轴上的一个点,一个瞬间...

2018-08-05 08:31:43 231

转载 带宽和吞吐量的区别

转自https://zhidao.baidu.com/question/1766542038601492500.html栗子一条路每秒最多能过100辆车(宽带就相当于100辆/秒)。而并不是每秒都会有100辆车过,假如第一秒有0辆,第二秒有10辆...,(但是最多不能超过100辆)。所以有第1秒0辆/秒,第2秒10辆/秒,第3秒30辆/秒,这不能说带宽多少吧,于是就用吞吐量表示具体时间...

2018-08-03 15:20:04 5444

原创 返回值为基本数据类型返回null报空指针异常

显然,null并不能作为基本数据类型的值,int a = null;这句代码编译都过不了,如果返回值为null的话就会尝试将null强转为基本数据类型,此时就会报空指针异常。但是对于其包装类型就不存在这个问题了,给包装类型返回null是合理的,因为Integer a = null是被允许的。...

2018-08-03 14:51:32 4853

ssm环境搭建

包含ssm环境搭建的步骤以及一些细节,适合初学者使用。

2018-07-05

空空如也

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

TA关注的人

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