自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

换了马甲的小强的博客

我努力的奔跑,只为追上曾经被寄予厚望的自己

  • 博客(120)
  • 资源 (1)
  • 收藏
  • 关注

转载 Java基础_构造方法

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。一、构造函数特点构造方法的名称必须与类的名称相同。比如类的名称叫A,那么它的构造方法必须也叫A。构造方法的前面不能声明返回值类型,即便是void也不行。只有满足了这两个条件,编译器才会认定这个方法是构造方法。如果程序员没有在类中定义构造方法,那么在编译阶段,编译器会

2020-11-11 00:00:35 453

转载 Java基础_类与对象的区别

一、定义类:事物的描述。是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。对象:该类事物的实例。在Java中通过new进行创建。是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。二、区别类是一个抽象的概念,它不存在于现实中的时间/空

2020-11-09 23:01:48 547

转载 maven打包 package install deploy区别

一、构建项目的几个环节清理(clean):删除以前的编译结果,为重新编译做好准备编译(compile):将Java 源程序编译为字节码文件测试(test):针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性打包(package):将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web工程对应 war 包。安装(install):在 Maven 环境下特指将打包的结果——jar 包或 war 包安装到本地仓库中。部署(deploy):将打

2020-11-05 23:54:25 1108

原创 springboot-PropertySource无法加载yaml解决办法

@PropertySource只对properties文件可以进行加载,但对于yml或者yaml不能支持。// 继承DefaultPropertySourceFactorypublic class YamlAndPropertySourceFactory extends DefaultPropertySourceFactory { @Override public Proper...

2020-03-29 23:01:25 2643 2

原创 springboot-指定profile启动

spring boot项目可为不同的环境配置相应的配置文件spring: datasource: db-name: sm profiles: active: @spring.active@---spring: profiles: test datasource: url: jdbc:mysql://localhost:3306/sm?autoReco...

2020-03-18 22:22:00 1347

原创 Java8 CompletableFuture与ThreadPoolTaskExecutor实践

一、CompletableFuture介绍Jdk8 CompletableFuture提供了新的异步编程思路,可以对多个异步处理进行编排,实现更复杂的异步处理。其内部使用ForkJoinPool实现异步,使用CompletableFuture可以把回调的实现改为同步调用实现。CompletableFuture提供了50多个API,现在分为场景来做介绍:1.1 3个服务并发调用,然后对结果进行合...

2020-03-01 17:39:33 4270 2

原创 Java8 Stream流使用

一、简述Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API借助同样新出现的(Lambda表达式、方法引用、接口默认方法等),极大的提高编程效率和程序可读性,同时它提供串行和并行两种模式进行...

2020-02-15 21:46:35 281

原创 四则运算表达式求值

一、题目计算“9 + (3 - 1) × 3 + 10 / 2”字符串的值二、解题思路2.1 后缀表达法(RPN):是一种不需要括号的后缀表达式法。规则:      从左到右便利表达式的每一个数字和符号,遇到数字就进栈,遇到符号就将处于栈顶两个数字出栈,进行计算,运算结果进栈,一直到最终获得结果。2.2 中缀表达式转后缀表达式规则:从左到右...

2019-11-17 11:48:15 263

原创 springboot——security实现验证码:使用自定义认证

在使用Spring Security的自定义认证之前,有必要了解Spring Security是如何灵活集成多种认证方式的。在spring Security中用户被称为主体(principal),主体包含了所有能够验证而获得系统访问权限的用户、设备或其他系统。主体的概念来自Java Security,自定义认证的基类是Authenticationpublic interface Authenti...

2019-10-27 23:50:30 935

原创 springboot——security实现验证码:自定义过滤器

验证码(CAPTCHA)的全称是Complete Automated Public Turing test to tell Computers And Humans Apart,翻译过来就是“全自动区分计算机和人类的图灵测试”。通俗地讲,验证码就是为了防止恶意用户暴力重试而设置的。不管是用户注册,用户登录,还是论坛发帖,如果不加以限制,一旦某些恶意用户利用计算机发起无限重试,就容易导致系统遭到破坏...

2019-10-27 21:21:02 2895

原创 springboot——集成Swagger2

一、Swagger2日常开发过程中,我们往往需要给前端(WEB端、IOS、Android)或者第三方提供接口,如果代码与文档分开管理,很容易导致改了接口但是未修改接口文档,通过swagger2我们可以根据代码自动生成接口文档,swagger2官网描述:When creating a REST API, good documentation is instrumental.Moreover,...

2019-10-27 10:14:44 184

原创 The POM for com.alibaba:druid:jar:1.1.10 is invalid

今天在家里电脑上编译一个网上下载下来的包的时候,控制台报出了这个错误:[WARNING] The POM for com.alibaba:druid:jar:1.1.10 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details开始一直以...

2019-10-24 23:18:16 16677

原创 springboot——security基于自定义数据库模型的认证

一、Maven配置本示例基于security5 + mybatis-plus + lombok<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</arti...

2019-10-11 01:39:41 221

原创 springboot——security基于Jdbc的多用户支持

一、pom.xml配置<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>...

2019-10-10 23:07:23 264

原创 springboot——security基于内存的多用户支持

一、pom.xml配置<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <...

2019-10-09 00:06:37 382

原创 springboot——security使用JSON登录

一、pom.xml配置<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <...

2019-10-07 23:29:11 902

原创 springboot——设置默认首页

最近基于前后端分离方式开发一个系统,前端同事编译出来的代码在dist/*目录下,而实际上希望访问系统地址的时候直接跳转到dist/index.html下,现需要做如下修改:@Configurationpublic class MyWebMvcConfigurerAdapter implements WebMvcConfigurer { @Override public voi...

2019-09-28 22:45:15 659

原创 springboot——集成redis cache

一、pom.xml配置 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId&...

2019-09-27 10:57:50 171

原创 springboot——集成阿里短信服务

一、快速入门1、注册账号;2、进入短信服务,点击新手引导;3、申请国内短信签名 和 申请国内短信模版;4、点击AccessKey创建AccessKey;5、点击OpenAPI Explorer进入,选择“SendSms”二、pom.xml配置<dependencies> <dependency> <groupId>org.spring...

2019-09-25 23:28:25 297 1

原创 springboot——使用七牛上传图片

一、快速入门快速入门1、注册账号2、创建存储空间, 命名xyz对应下面springboot 应用配置bucket3、创建成功后进入该空间,获取该空间的测试域名,对应下面springboot 应用配置中的path4、点击“个人面板—密钥管理”,获取 accessKey 和 secretKey二、pom.xml配置<dependency> <groupId>c...

2019-09-24 17:16:11 319

原创 springboot——集成druid

一、pom.xml配置<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <...

2019-09-23 09:55:55 185

原创 springboot——集成MongoDB

一、安装MongoDBsudo apt-get install mongodb二、配置MongoDBsudo service mongodb stopmongod --bind_ip_all三、springboot + MongoDB配置pom.xml配置<dependency> <groupId>org.springframework.boot&l...

2019-09-18 09:55:03 224

原创 springboot——集成redis

一、安装Redis在redis官网上找到最新稳定版本redis,当前最新版本是5.0.5,复制链接然后在Ubuntu上使用curl命令直接下载ouyp@ouyp-VirtualBox:~/redis$ curl -O http://download.redis.io/releases/redis-5.0.5.tar.gzouyp@ouyp-VirtualBox:~/redis$ tar -z...

2019-09-17 09:15:26 194

原创 mysql-8.0.11安装配置

一、下载Mysql-8.0.11安装包[下载地址](http://down-ww3.7down.net/pcdown/soft/xiazai/mysql8.rar)二、配置my.ini[mysqld]character-set-server=utf8#绑定IPv4 3306端口bind-address = 0.0.0.0port = 3306# 设置mysql的安装目彿base...

2019-09-03 19:50:13 239

原创 Apache-common StrSubstitutor进行占位符替换

一、代码示例public static void main(String[] args) { Map<String, Object> valueMap = Maps.newHashMap(); valueMap.put("firstName", "你好"); valueMap.put("secondName", "他好"); valueMap.put("menuId"...

2019-08-28 09:27:37 1094

原创 Java 覆写equals使用instanceof的陷阱

public static void main(String[] args) { Emp e1 = new Emp("chenssy", "23"); Emp e2 = new Emp("chenssy", "24"); Person p = new Person(); p.name = "chenssy"; Sy...

2019-08-05 20:47:22 258

原创 Jersey——30分钟速读《Java RESTful Web Service 实战》

一、Jersey入门1.1 REST简述REST(Representational State Transfer,表述性状态转移),源于REST之父Roy Thomas Fielding博士在2000年就读加州大学欧文分校期间发表的一篇学术论文——《 Architectural Styles and the Design of Network-based Software Architectu...

2019-06-27 14:29:14 1227

原创 Jersey——基本认证 & 摘要认证 & 表单认证

一、基本认证HTTP基本认证是指通过WEB浏览器或者其他客户端在发送请求的时,提供用户名和密码作为身份凭证的一种登录验证方式。在请求发送之前,用户名和密码字符串通过一个冒号合并,形式如:Username:Password,合并后的字符串经过BASE64算法进行编码。二、操作步骤本示例结合Tomcat提供的JDBCRealm实现认证和授权。现基于Spring5.1.7 + Jersey2.2...

2019-06-06 01:36:28 850

原创 Jersey——POST请求接收数组类型数据

一、场景说明后端需要接收多条数据实现批量绑定的效果,如果按照定义bean的话,实际上是一个List<Param>结构,我们情况看Postman的请求参数.[{ "elementId" : "9212066927850701332", "dataId" : "-211208903950905634_4", "metadata" : { "uuid": "67947291-6...

2019-06-05 10:58:03 2296

原创 Jersey——使用NameBding实现对特定类和方法拦截

一、场景说明与使用ContainerRequestFilter,ContainerResponseFilter等全局性过滤器不同,在有些场景下只需对特定的XXXResource做AOP拦截,这个时候@NameBinding名称绑定可以说是一种不错的可选方案。二、使用方法1.1 新增注解import javax.ws.rs.NameBinding;import java.lang.anno...

2019-06-02 23:36:26 1547

原创 Jersey——搭建Jersey + Jetty开发环境

一、引入所对应的包 <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> <version>2.27</ve...

2019-05-28 23:52:55 1803

原创 Jersey——搭建Jersey + Grizzly开发环境

一、引入所对应的包 <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> <version>2.27</ve...

2019-05-27 23:20:31 1545

原创 Jersey——返回图片格式数据

一、背景在使用Jersey实现Restful后端设计的时候,Jersey常用用于返回JSON格式数据,实际上Jersey是可以返回其他格式的数据的,在MVC中与Springmvc都是可以做为C的,由于项目上需要通过Jersey实现返回图片流的接口,为简单起见现采用springboot+jersey搭建示例环境。二、操作步骤使用Spring initializer创建,引入springboo...

2019-05-26 22:34:53 641

原创 使用ProcessExplorer分析占用CPU过高的Java线程

一、使用ProcessExplorer查看进程的线程信息,如截图有上图我们可知道线程4396和1956两个线程CPU占用率比较高(系统没有一个用户使用的情况下);二、使用计算器-程序员模式,将线程4396和1956转换为16进制,为112C和7A4三、使用Java自带的jstack命令导出线程dump命令:jstack 3092 > jstack.txtjstack命令更多介...

2019-05-08 21:35:07 1385

原创 排序算法——简单排序算法

一、算法原理通过N-1次遍历,从a[i+1] ~ a[n-1]中选择出最小的数a[j]将这个数设置到i位置。二、算法分析以数组{9,1,5,8,3,7,6}为例第一轮 i = 0,从{9,1,5,8,3,7,6}中找出最小值1,交换位置后:[1, 9, 5, 8, 3, 7, 6]第二轮 i = 1,从{9, 5, 8, 3, 7, 6}中找出最小值3,交换位置后:[1, 3, 5, ...

2019-04-22 00:03:09 135

原创 排序算法——希尔排序

一、算法原理希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。二、算法实现public static void main(String[] args) { int arr[]={9,1,5,8,3,7,6}; int d = arr.length; while (d &gt...

2019-04-21 23:39:07 133

原创 排序算法——插入排序

一、基本原理将一个数插入到已排序好的数列中,从而得到一个新的,个数+1的新的有序数列。二、算法分析以数组{6, 3, 8, 2, 9, 1,7}为例:i = 1:取3插入到有序数列[6]中,得到新的数列:{3, 6, 8, 2, 9, 1,7}i = 2:取8插入到有序数列[3,6]中,得到新的数列:{3, 6, 8, 2, 9, 1,7}i = 3:取2插入到有序数列[3,6,8]...

2019-04-16 21:49:47 156

原创 排序算法——快速排序2

一、基本原理选择第一个树作为基准数,通过一趟排序将比他小的数放在他左边,比他大的数放在他的右边。选择第一个数做为基准数p;从数列最后一个开始遍历,找出第一个比基准数小的数,索引为j,从数列第二个开始遍历,找出第一个比基准数大的数,索引为i;交换a[i]和a[j]的值;重复上面步骤直到i >= j,将a[i]和基准数交换位置,这样基准数就调整到数列中间;对“基准数左侧数列”和"基准...

2019-04-14 15:11:32 394

原创 排序算法——快速排序

一、基本原理选择一个基准数,通过一趟排序将比他小的数放在他左边,比他大的数放在他的右边。选择基准数,通常是数列的一个元素;将比基准数小的数放在基准数左边,把比基准数大的数放在基准数的右边,所以基准数放在数列的中间;对“基准数左侧数列”和"基准数右侧数列"执行以上操作。二、算法分析以数组{6, 3, 8, 2, 9, 1}为例:第一轮left = 0, right = 5,i = ...

2019-04-13 17:10:28 188

原创 排序算法——冒泡排序

一、算法原理比较相邻两个元素a[j]和a[j+1],如果a[j] > a[j+1]则交换两个元素的位置;对每一对相邻的元素执行同样操作,从而开始一对到结束一对,在这一步骤完成后最后一个元素就是最大的元素;针对所有的元素重复以上的步骤,除了最后一个;持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。二、算法分析以数组{6, 3, 8, 2, 9, 1}为例...

2019-04-12 16:36:29 304

ProcessExplorer.zip

由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。

2019-05-08

空空如也

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

TA关注的人

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