自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

愿你看淡世界沧桑,内心安然无恙

现在,我是一名程序员

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

原创 Notepad-- 程序员日常用法

nodepad 快速查找标记,提取指定的字符串

2024-10-09 14:09:45 1062

原创 Linux安装Mysql

本地使用scp命令:scp 本地路径/压缩包 远程服务器/地址。1.修改/etc/my.cnf文件,如果没有则新建一个。1.使用root账户登陆,并输入初始的密码。# 修改root账号能被任何host访问。1.使用客户端远程连接mysql报错。3.创建存放数据的目录,设置权限。选择适合自己的安装包,点击下载。四、配置my.cnf文件、安装。一、下载mysql安装包。3.解压后的文件名重命名。七、连接使用mysql。二、上传安装包并解压。2.修改外部访问权限。# 访问mysql库。以上完成就可以用啦!

2024-05-22 11:02:20 558

原创 Linux centos8安装JDK1.8、tomcat

1.创建jdk安装目录(我计划把自定义的安装包都放到opt下)3.检查yum中有没有java1.8的包。2.如果之前安装过jdk,先卸载掉旧的。4.yum安装jdk。

2023-12-08 09:39:04 282

原创 Mac安装Linux虚拟机(M3)

比较常用的有VMware Fution、VirtualBox、Paralles Desktop等,我选择了Paralles Desktop(买电脑增了一年的免费使用😄)从官网下载试用就行,之前试过VirtualBox,还没有M3的包。天翼云盘是中国电信推出的云存储服务,为用户提供跨平台的文件存储、备份、同步及分享服务,是国内领先的免费网盘,安全、可靠、稳定、快速。注意选择适合自己芯片的镜像文件,我之前使用的centos7不适用,一直报错安装失败。一、选择虚拟机软件、下载并安装。1.选择第二个,然后继续。

2023-12-04 09:34:25 4434 7

原创 Springboot自定义starter

1.背景工作中经常需要将多个springboot项目共同的非业务模块抽取出来,比如访问日志、维护请求上下文中的用户信息或者链路id等等。此次模拟的是请求中用户信息维护,方便整个请求中用户信息的取用。2.作用根据项目组的实际需求,封装starter,可以简化开发,统一规范的效果。3.规范官方的starter包规范:spring-boot-starter-xxx自定义starter包规范:xxx-spring-boot-starter。

2023-12-01 09:37:01 394

原创 springboot + mybatis plus + druid多数据源用法

一、添加依赖<!-- Alibaba Druid --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.22</version></dependency><!-- MyBatis Plus -...

2021-07-09 16:40:04 890

原创 使用多线程,并获取返回结果的简介写法

一、背景在实际开发中,有些业务需要依赖多线程的返回数据,不是单纯的只执行业务逻辑就好。二、demo1.线程池工具类@Slf4jpublic class ThreadPoolUtils { private static ThreadPoolTaskExecutor poolTaskExecutor = null; private ThreadPoolUtils() { } public static ThreadPoolTaskExecutor get

2020-12-22 16:35:13 716

原创 Spring线程池ThreadPoolTaskExecutor的简介和使用

一、ThreadPoolTaskExecutor的重要参数corePoolSize:核心线程数,线程池维护线程的最少数量。allowCoreThreadTimeOut:是否允许核心线程超时(默认为false)。当为true是,小于等于核心线程数的线程超时会关闭;为false是,小于等于核心线程数的核心线程会一直存活,不管有没有任务。maxPoolSize:最大线程数量。keepAliveSeconds:允许空闲时间。如果allowCoreThreadTimeOut为true,则线程空闲时间到达k

2020-11-06 14:55:12 2445

原创 设计模式-开放封闭原则(简介和使用)

一、简介开放封闭原则的两个核心是,对扩展开放,对修改关闭.对扩展开放,也就是说当有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。对修改封闭,也就是说类一旦设计完成,就可以独立完成其工作,尽量不要对类进行任何修改。遵循这个原则,对程序中呈现出频繁变化的那部分作出抽象,然而对于应用程序中的每个部分都可以的进行抽象同样不是一个好主意,拒绝不成熟的抽象和抽象本身一样重要..二、举例举一个大话设计模式中的例子:一开始的需求是要加法的程序,后来陆续加入减法、乘法、除法.在最初设计

2020-07-20 14:45:54 401

原创 设计模式-单一职责原则(简介和使用)

一、简介 单一职责原则 准确的解释应该是,就一个类而言,应该仅有一个引起它变化的原因. 如果一个类有一个以上的职责,这些职责就耦合在了一起.当一个职责发生变化时,可能会影响其他的职责.并且也会影响复用. 此原则的核心是解偶和增强内聚性.遵守单一职责原则,将不同的职责封装到不同的类或模块中. 比如,T负责两个不同的职责:职责P1,职责P2,当由于职责P1需求发生变化而需要改变类T时,有可能会导致原本运行正常的职责P2功能发生故障.职责P1和P2被偶和在了一起. 单一职责原则不仅仅...

2020-07-17 11:27:51 284 2

原创 如何将下载到本地的jar包安装到本地maven库中

1.找到jar包的路径mac举例:将文件拖入终端中,终端会显示文件路径,复制出来即可2.在终端下执行命令:mvn install:install-file -Dfile=/Users/XXX/open-api-sdk-2.0.jar -DgroupId=com.test -DartifactId=open -Dversion=2.0 -Dpackaging=jar上面的命令解释:...

2020-02-04 14:37:40 256

原创 设计模式-策略模式(简介和使用)

1.简介策略模式是一种定义了一系列算法的方法,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法的类之间的耦合.简单来说,策略模式就是将每个算法都封装起来,使他们之间可以互换.举个例子,比如商场的不同优惠活动,有满100返20、满300返100、全场8折、积分等,不管商场如何搞活动,归根结底都是一系列的算法,这些算法是随时都可能互相...

2019-12-09 14:50:26 264

原创 设计模式-简单工厂模式(简介和使用)

1、简介简单工厂模式的实质 是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类的实例.(这些产品类继承自一个父类或接口) ---百度总结的很精辟.简单工厂模式 主要解决对象的创建问题.该模式中包含的角色以及职责:1)工厂角色 负责实现创建所有实例的内部逻辑.工厂类的创建产品类方法可以被外部直接调用,创建所需的产品对象.2)抽象产品角色 简单工厂模式所创建...

2019-12-02 11:34:17 232

原创 List中对象排序的几种常用方法

1.Student类@Datapublic class Student { private Long stuId; private String name; private Integer age; private Integer sex; private Date createTime; private Date update...

2019-10-09 11:16:18 1922

原创 Spring计时器StopWatch的简单使用

最近新学了一个代码计时方法StopWatch替代繁琐的System.currentTimeMillis()计时,常见的工具类有org.springframework.util.StopWatch、org.apache.commons.lang3.time.StopWatch。(前者支持多任务执行时间统计,后者适用单任务计时)1.org.springframework.util.StopWatc...

2019-10-08 16:20:22 434

原创 RedisTemplate、StringRedisTemplate管道Pipeline用法

1.简介Redis是采用基于C/S模式的请求/响应协议的TCP服务器。redis客户端通过socket连接发起请求,每个请求在命令触发后会阻塞等待redis服务器进行处理,处理完毕后将结果返回给client。每个请求都存在往返时间,即使redis性能高,当数据量大时也会极大影响性能,还可能引起其他意外情况。在很多场景下,我们要完成一个业务,可能会对redis做连续多个操作。譬如库存减一,订...

2019-08-26 15:09:56 6493

原创 分布式定时任务elastic-job简介与使用

1.简介elastic-job是当当网基于Zookepper,Quartz开发并开源的Java分布式定时任务,解决Quartz不支持分布式的弊端。由两个相互独立的子项目Elastic-job-lite和Elastic-job-cloud组成。2.基本概念分片:任务分布式执行,需要将一个任务拆分成多个独立的任务项,然后由分布式的服务器分别执行某一个或几分分片项。 个性化参数:shard...

2019-08-22 19:01:22 383

原创 SpringBoot集成ehcache缓存

1.简介纯java进程内缓存框架,快速、简单;缓存数据有两级:内存和磁盘,因此无需担心容量问题;缓存数据会在虚拟机重启的过程中写入磁盘;需要注意的是,ehcache是将数据放入jvm内存中,也就是说档次缓存在本次服务器启动期间有效,下次服务器启动将会失效。2.和redis比较redis:是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多。属于独立的运行...

2019-06-25 17:43:27 3065 1

原创 SpringBoot-redis、mysql、JPA、mongodb多数据源配置

1.配置文件application.yml,或者application-dev.yml/application-test.yml等spring: datasource: story: jdbc-url: jdbc:mysql:replication://URL1:3306,URL2:3306/story?zeroDateTimeBehavior=convertToNu...

2019-04-30 17:15:14 1331

原创 StringRedisTemplate常用hash操作

基础model类:class Student{private Long id;private String name;private Long classId;Student(Long id ,String name,Long classId){ this.id = id; this.name = name; this.classId = cla...

2019-04-14 22:22:33 7623

原创 git常用命令

查看分支:git branch创建分支:git branch &lt;name&gt;切换分支:git checkout &lt;name&gt;创建+切换分支:git checkout -b &lt;name&gt;合并某分支到当前分支:git merge &lt;name&gt;删除分支:git branch -d &lt;name&gt;下载项目:git clone ...

2019-02-19 15:03:27 137

原创 Redis分布式锁-SETNX实现

Redis有一系列以NX结尾的命令,NX是Not eXists的缩写,如SETNX命令就应该理解为:SET if not exists。1. 用SETNX实现分布式锁利用SETNX非常简单的实现分布式锁。例如:某客户端要获得一个名字foo的锁,客户端使用下面的命令进行获取:SETNX lock.foo &lt;current Unix time + lock timeout + 1&g...

2019-01-29 17:06:10 3835

原创 IDEA本地安装lombok

在idea中无法用外网安装lombok时,可以按照本方法本地安装。1. 下载lombok安装包 https://github.com/mplushnikov/lombok-intellij-plugin/releases    根据自己的IDEA版本选择合适的lombok安装包。2. 下载好zip包之后放到本地某个文件夹下,不需要解压3. 打开IDEA-&gt;File-&gt;S...

2019-01-24 16:48:24 1769

原创 大数据简介

一、大数据概念“大数据”是一个体量特别大,数据类型特别大的数据集,并且这样的数据集无法用传统数据库工具对其内容进行抓取、管理和处理。 1.  “大数据”首先是指数据体量(volumes)大,指代大型数据集,一般在10TB规模左右,但在实际应用中,很多企业用户把多个数据集放在一起,已经形成了PB级的数据量;  2. 其次是指数据类别(variety)大,数据来自多种数据源,数据种类和格式...

2019-01-24 15:19:54 8503 1

原创 java8 使用stream将List转成Map,或者从List对象中获取单个属性List,List中根据某个字段排序

1.//学生类import lombok.Data;@Datapublic class Student{ private String stuId; private String name; private String age; private String sex;}2.//测试类public class Test {...

2019-01-13 14:42:51 38487 3

原创 eclipse经常卡死、反应慢、内存溢出的解决方案

开发过程中经常遇到eclipse卡死的问题,所以特此通过网上查找和实践总结了以下解决方法:1.修改eclipse内存找到eclipse的安装目录,在目录下有个eclipse.ini文件,打开添加如下配置(我的电脑内存3G,可以参考下面配置做调整,不用太高)-Xms1024m-Xmx2048m-XX:MaxPermSize=1024M-XX:-UseGCOverheadLimit...

2018-10-22 18:28:19 17446

原创 Teamviewer过期,获取免费版

经常碰到的Teamviewer试用期过期问题可以用下面方法解决:(亲测)1.去Teamviewer官网下载最新安装包  https://www.teamviewer.com/en/2.之后执行.exe文件进行安装,注意:安装时选择 个人用途!!!3.按window键打开搜索框,搜索设备管理器,点击打开设备管理器4.找到并打开 网络适配器5.找到自己的网卡,我的如下图所示...

2018-10-18 16:01:38 14337 1

原创 SpringCloud(二):熔断器Hystrix

1. 雪崩效应在微服务架构中,系统会根据业务来拆分成一个个的服务,多个服务之间可以相互调用。由于网络或者自身原因,服务并不能保证完全可用。当单个服务出故障时,调用这个服务就会出现线程阻塞并且会出现级联阻塞,进而出现整个系统不可用的情况,这种现象被称为服务雪崩效应。从别处找了一个方便理解的例子如下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者。A不可用引起了B的不可...

2018-09-21 17:59:29 1048

原创 SpringCloud(一):注册中心Eureka、feign(简单微服务搭建)

1.Eureka简介Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。Eureka是一个服务注册和发现模块,采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用...

2018-09-20 17:36:38 1320

原创 java8 stream ,filter 等功能代替for循环List

比如ListA得id与ListB的classId相同时,将ListB中相同classId的数据放到ListA中1./*** 班级类*/Class Grade{private Long id;//班级IDprivate String className;//班级名称private List&lt;Student&gt; students;//学生...(get s...

2018-09-18 17:28:30 4228

原创 mybatis批量插入与更新

由于系统中一次性需要导入1000条数据,为防止超时以及长时间占用数据库连接,采取了批量更新插入。1.后台代码每50条,与数据库进行一次交互            //批量插入/更新            int dataLimitNum = 50;// 限制分批条数            int i = 0;            while (i &lt; list.size())...

2018-09-18 11:18:09 2666

转载 java中实现方法重试机制

推荐文:(注意看评论)https://www.cnblogs.com/HarrisonHao/p/7874902.html

2018-07-16 11:12:49 2946 1

原创 SpringBoot简介与特性

1.Spring boot是Spring家族中的一个全新的框架,它用来简化Spring应用程序的创建和开发过程,也可以说Spring boot能简化我们之前采用SpringMVC+Spring+Mybatis框架进行开发的过程。2.在以往我们采用SpringMVC+Spring+Mybatis框架进行开发的时候,搭建和整合三大框架,我们需要做很好工作,比如配置web.xml,配置Spring,配置...

2018-06-07 10:33:49 16769 1

原创 安装或者运行比较工机具Beyond Compare提示应用程序发生错误

出现上面错误的时候,可以到 C:\Users\issuser\AppData\Roaming\Scooter Software\Beyond Compare 3目录下,删除所有文件,然后重启或者重新安装Beyond Compare

2018-04-24 17:25:48 449

原创 Eclipse中安装与使用BIRT 插件

1. BIRT 简介:BIRT ( Business Intelligence and Reporting Tools) 其实是一个开发框架。增加Tool单词至名称缩写中,是有适合的意思。BIRT实际是一系列开发工具和技术的集合,用于做报表开发的框架。BIRT不一定是产品,但一系列产品和解决方案的核心技术在其基础构建,就和Eclipse 框架类似。我们比较熟悉的BIRT可视化报表设计器(BIRT ...

2018-04-18 15:33:37 14641 4

原创 java模拟HTTP请求,发送JSON数据

1.使用HttpClient实现POST、GET请求的发送2.举例/***测试类*/public class Test{    public static void main(String[] args){        User u=new User();         u.setUserName="张三";         u.setUserPassWorld="zs123321";    ...

2018-03-09 10:14:30 3507

原创 用Set判断List是否有重复值

1.java.util.Set--无重复元素集合类2.add方法--向Set集合中添加对象语法 boolean add(E e)参数:e是要添加到Set集合中的对象.返回值:如果Set集合中不包含要添加的对象,则添加对象并返回true;如果已经包含相同的对象,则不改变Set集合,并返回false.3.举例:List&lt;String&gt; userNames=new A...

2018-02-26 17:14:05 3868

原创 CronExpression表达式语法简介

Quartz中的CronExpression指定任务执行的时间。1.Cron表达式格式一个Cron表达式由6或7个时间元素组成,他们之间用空格分隔。依次为:[秒] [分] [小时] [日] [月] [星期] [年]序号说明是否必填允许填写的值允许的符号1秒是0-59, - *

2017-12-19 16:17:59 1087

原创 Nginx简单使用

1.工具nginx-1.8.0apache-tomcat-6.0.372.目标实现高性能负载均衡的Tomcat集群:3.步骤1)下载解压Nginx,此次用的nginx1.8.0,下载地址:http://nginx.org/download/2)解压两个tomcat,分别命名为

2017-12-12 17:46:24 310 1

原创 Nginx简单了解

1.概念Nginx——Ngine X,是一款自由的、开源的、高性能HTTP服务器和反向代理服务器;也是一个IMAP、POP3、SMTP代理服务器;也就是说Nginx本身就可以托管网站(类似于Tomcat一样),进行Http服务处理,也可以作为反向代理服务器使用。Nginx 解决了服务器的C10K(就是在一秒之内连接客户端的数目为10k即1万)问题。它的设计不像传统的服务器那样使

2017-12-07 16:58:16 448 1

空空如也

空空如也

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

TA关注的人

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