自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(295)
  • 资源 (8)
  • 收藏
  • 关注

原创 js中的过滤和排序

查询到的集合list排序:排序原集合结果会发生变化list.sort(function(a,b){ return (a.age ||0 )>(b.age || 0)?-1:1})过滤:原集合数据保持不变var result = list.filter(function(f){ return f.age >12 || f.age==10})function listSort(){ var list=[] ; var b1 = {}; b1.age=10;

2022-05-17 10:00:43 2314

原创 springcloud 集成mongoDb的基本操作

本篇博客只列举出基本操作,一 . 依赖引入想要在SpringBoot里面很好的使用MongoDB api,需要引入如下依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.6.RELEASE</version&g

2022-05-17 09:25:25 2437

转载 Java中如何高效的判断数组中是否包含某个元素

如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作。同时,这个问题在Stack Overflow中也是一个非常热门的问题。在投票比较高的几个答案中给出了几种不同的方法,但是他们的时间复杂度也是各不相同的。本文将分析几种常见用法及其时间成本。检查数组是否包含某个值的方法使用Listpublic static boolean useList(String[] arr, String targetValue) { return Arrays.asL

2022-05-17 09:17:20 6962

转载 HandlerMethodArgumentResolver用于统一获取当前登录用户

目录一、最原始直接二、AOP三、拦截器+方法参数解析器3.1 自定义权限拦截器3.2 自定义参数注解3.3 自定义方法参数解析器3.4 配置MVC环境:SpringBoot 2.0.4.RELEASE 需求:很多Controller方法,刚进来要先获取当前登录用户的信息,以便做后续的用户相关操作。 准备工作:前端每次请求都传token,后端封装一方法tokenUtils.getUserByToken(token),根据token解析得到currentUserInf...

2021-02-01 23:19:03 192

转载 isAssignableFrom()方法与instanceof关键字用法

isAssignableFrom()方法与instanceof关键字的区别总结为以下两个点:isAssignableFrom()方法是从类继承的角度去判断,instanceof关键字是从实例继承的角度去判断。 isAssignableFrom()方法是判断是否为某个类的父类,instanceof关键字是判断是否某个类的子类。使用方法:父类.class.isAssignableFrom(子类.class)子类实例 instanceof 父类类型isAssignableFrom()方法的调

2021-02-01 23:13:29 794

转载 linux 命令之 nohup 和 &

nohup和&究竟有啥区别?首先编写名称为test.c测试代码如下:#include "stdio.h"int main(){ int i =0; while(1){ printf("hello world! %d\n",i++); sleep(1); }}代码的内容很简单,就是一个输出hello world!与循环轮数的死循环程序,每输出一行就休眠1秒,然后使用gcc进行编译输出test文件gcc test.c -o test1能看到编译结果.

2021-01-30 15:49:58 241

转载 springboot 整合mongoTemplate的 Query Criteria 用法

1.通过注解注入 mongoTemplate@Autowiredprivate MongoTemplate mongoTemplate;2.获取Query 和 Criteria 对象Query query = new Query();Criteria criteria = new Criteria();3.多参数动态查询。criteria 有两种写法,一种是criteria.and().is();另一种是criteria.where().is(),两种方式不能混合使用,否则不生.

2021-01-29 14:09:57 1524 1

转载 SpringBoot中Required String parameter `xxx` is not present

错误分析使用Post向接口发送json数据时显示如下错误:WARN 13392 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by handler execution: org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter '

2021-01-29 12:46:27 3109 1

转载 MyBatis自带的缓存配置(Cache)

如果要实现 mybatis 的二级缓存,一般来说有如下两种方式:1. 采用 mybatis 内置的 cache 机制。2. 采用三方 cache 框架, 比如ehcache, oscache 等等.采用 mybatis 内置的 cache 机制。在 sql 语句映射文件中加入 <cache /> 语句 , 并且相应的 model 类要实现 java Serializable 接口,因为缓存说白了就是序列化与反序列化的过程,所以需要实现这个接口. 单纯的 <cache />

2021-01-29 12:41:48 381

原创 java8 新特性之String 中指定字符出现的次数

import java.util.Map;import java.util.stream.Collectors;import java.util.stream.Stream;public class StringAppearCount { public static void main(String[] args) { String str = "dhfuewgjdshfjksdhfuiewgusdbhgjkhugo"; Map<String, .

2021-01-28 17:36:11 841

原创 java8 新特性 之 将指定格式的字符串转化成List

import org.apache.commons.lang3.StringUtils;import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class StringConvertList { public static void main(String[] args) { //java8特性//将以逗号分割的字符串转换成List<Long.

2021-01-28 15:06:40 1699

转载 注解@Slf4j的使用

注解@Slf4j的使用如果不想每次都写private final Logger logger = LoggerFactory.getLogger(当前类名.class);可以用注解@Slf4j来打印日志。======================================怎么使用呢?==========================================1.你的IDEA上需要安装Lombok插件https://www.cnblogs.com/sxdcgaq8.

2021-01-28 14:00:06 274

转载 springboot 之MongoDB修改篇

本篇依然是MongoDB curd中的一篇,主要介绍document的更新,主要内容如下常见类型成员的修改 数组类型成员的增删改 document类型成员的增删改I. 基本使用首先是准备好基本环境,可以参考博文181213-SpringBoot高级篇MongoDB之基本环境搭建与使用 190113-SpringBoot高级篇MongoDB之查询基本使用姿势在开始之前,先封装一个输出方法,用于打印修改后的record对象private void queryAndPrint(Quer

2021-01-28 10:38:39 1232

转载 springboot 中用nacos 做注册中心

我觉得Nacos用起来还不错在使用SpringCloud做分布式微服务架构时,注册中心是必不可少的一个组件。目前可以用的主要有:Eureka、Consul、Zookeeper。今天,我们就来说一下Alibaba的Nacos怎么样?下载与安装 下载地址https://github.com/alibaba/nacos/releases 安装: Windows 下载解压后(.zip),直接点击bin/start.bat就可以了。 Linux下载解压后(.tar.gz),同样,也是运

2021-01-27 18:18:43 1271 1

转载 MongoDB 和sql 语句对应关系

看了些资料,对应只需要知道怎么查询和使用mongodb的我来说,这些足够啦。左边是mongodb查询语句,右边是sql语句。对照着用,挺方便。db.users.find() select*fromusersdb.users.find({"age":27}) select*fromuserswhereage=27db.users.find({"username":"joe","age":27}) select*fromuserswhere"usern...

2021-01-27 16:14:45 366

转载 Mongodb4.0+spring boot+事务问题(爬坑)

在2018年mongoDB4.0的问世,官方也说到了4.0以上将支持事务。这可以让我们大胆的使用mongoDB,因为事务保证数据的准确性。第一坑:事务的支持必须建立在mongodb副本集之上。刚开始使用spring 的 @Transactional注解,并定义了个运行时异常,来测试事务。发现报错之后不能回滚。就上网搜索资料,如何配置spring data mongodb事务。后来知道mongodb的事务只能建立在副本集之上。知道了原因就开始配置副本集了,副本集我是在centos7上搭建的单机版,一主两

2021-01-27 15:57:02 976

转载 springboot MongoDB 事务

前言有玩过mongodb的朋友大概会知道mongodb4.0版本已经可以支持多文档副本集事务。而最新版本4.2更是支持分片事务,即真正的支持分布式事务。不过当时我使用mongodb,其最新版本为4.10,4.2版本还没发布,因此本文还是以4.0版本的副本集事务来讲解。事务整合1、使用事务的前置条件mongodb版本大于等于4,本文mongodb版本为4.10版本 mongodb搭建了副本集,本文mongodb为一主两从 本文使用的springboot版本为springboot2+版本

2021-01-27 15:19:15 5314 3

转载 springboot 中mongodb 事务

mongoDB事务官网:https://docs.mongodb.com/manual/core/transactions/使用示例application.ymlspring: data: mongodb: uri: mongodb://172.18.0.21:27017,172.18.0.22:27017,172.18.0.23:27017/test注意:事务中只能读主库,从库不能读,开启读从库会报错(Read preference in a tr..

2021-01-27 14:29:30 1216 1

转载 springboot 接收List 入参

第一种方式:使用@ModelAttribute 注解 + 对象接收1. get 请求 入参为 projectIds=1,2,3 2. @RequestMapping("/analysis") 或者 @GetMapping("/analysis") 使用 @ModelAttribute 注解 @RequestMapping("/analysis") public JsonResult queryList (@ModelAttribute PhoneSta...

2021-01-26 22:11:02 10354

原创 idea 中微服务面板

如果是多模块的微服务,idea提供了一个可以多服务启动的界面services,如果你的项目里没看到这个界面:找到项目下的workspase.xml配置文件将配置文件中添加<component name="RunDashboard"> <option name="configurationTypes"> <set> <option value="SpringBootApplicationConfiguratio

2021-01-14 10:37:12 734

转载 springboot的四种注入方式

springboot的属性注入以注入dataSource为例1.springboot默认读取的文件是放在resources目录下的名为application.properties或application.yml的文件在application.properties中写入以下属性jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/数据库名称jdbc.username=rootxxx.

2021-01-11 19:44:05 5400

转载 什么是IO多路复用

先百度或者知乎,找到这篇文章 [1]IO 多路复用是什么意思?文中提到:  第一种好理解,就是来一个请求,fork一个进程,第二种提到I/O多路复用使用单个线程实现的,作者肯定没有写错,因为后面的文章也都是写的线程,我的问题是为什么不是进程来管理?参考文章[2] 里面的code 给出的是通过一个进程来服务多个client 连接请求. 我理解这是通过单进程的里面的一个线程来处理的,所以这里进程线程就不作区分.还有,下面引文中一个问题问的很好“Q:那这样子,在读取...

2021-01-06 17:21:31 336

原创 tomcat 9 免安装版 闪退问题

Tomcat免安装版点击startup.bat可成功启动,但是执行tomcat9.exe时却闪退,这是因为免安装版的tomcat不会自动把tomcat注册到windows服务里,需要手动注册。解决办法就是:在cmd(win+r)进入tomcat的bin目录执行命令: service.bat install...

2021-01-06 12:27:04 317

原创 java线程池

接口类Executor 线程的定义和线程的执行分开 execute 马上执行ExecutorService接口类 extends Executor submit 异步执行 get 方法是阻塞的 直到submit的结果返回才会取到Callable 这个就是为了线程池而设计的 得到线程执行的返回值 类似于runnable 但是有返回值Future 存储将来返回的执行结果FutureTask Future + RunnableCompletableFuture 管理一堆任务完成...

2021-01-05 15:58:36 67

原创 Queue 系列

copyOnWriteArrayList 写时复制 插入数据的时候 先把原来的数据copy一份,在将元素插入进去,然后将引用指向新的值,这样写的时候加锁,读的时候不加锁为什么还需要复制 因为Array的长度是一定的之前的ArrayList 在读的时候 需要将写的进程停掉,才可以进行读Queue 是线程安全的offer 放数据成功返回true 失败返回falseadd 放数据失败,返回false,并抛出异常peek 读数据pool 取出数据(读并且删除掉)-----------..

2020-12-31 14:55:49 65

转载 ArrayList源码解析

1、概述ArrayList ,基于[]数组实现的,支持自动扩容的动态数组。相比数组来说,因为其支持自动扩容的特性,成为我们日常开发中,最常用的集合类,没有之一2、类图ArrayList 实现的接口、继承的抽象类实现了 4 个接口,分别是:(1)java.util.List接口,提供数组的添加、删除、修改、迭代遍历等操作(2)java.util.RandomAccess接口,表示 ArrayList 支持快速的随机访问(3)java.io.Serializabl...

2020-12-31 13:15:15 89

原创 java中强引用 弱引用 软引用 虚引用 总结

ThreadLocal 一个线程一个map(ThreadLocalMap) map的key 为当前对象ThreadLocal value为对应泛型的值ThreadLocal 的原理强引用: 平时定义变量 如 Student s = new Student(); s即强引用软引用 SoftReference<Student> s = new SoftReference<>(new Student()) 定义的变量为软引用 主要用于缓存,需要新的空间的时候,可以...

2020-12-30 20:57:05 156

转载 java 中的强引用 软引用 弱引用 虚引用

主要是为了更好的进行内存管理而设置的一套机制,粗俗的说就是不同的引用垃圾回收的力度不同。强引用:只要引用存在,垃圾回收器永远不会回收Object obj = new Object();obj.equels(new Object());//可直接通过obj取得对应的对象而这样 obj对象对后面new Object的一个强引用,只有当obj这个引用被释放之后,对象才会被释放掉,这也是我们经常所用到的编码形式。软引用:非必须引用,内存溢出之前进行回收,可以通过以下代码实现.

2020-12-30 20:03:45 94

原创 idea 忽略要提交的文件

2020-12-30 19:53:45 100

转载 SpringDataJpa:JpaRepository增删改查

Jpa查询1. JpaRepository简单查询基本查询也分为两种,一种是spring data默认已经实现,一种是根据查询的方法来自动解析成SQL。 预先生成方法 spring data jpa 默认预先生成了一些基本的CURD的方法,例如:增、删、改等等继承JpaRepositorypublic interface UserRepository extends JpaRepository<User, Long> {} 使用默认方法 @Test

2020-12-30 11:01:01 429

原创 k8s中工具的区别

kubeadm是kubernetes集群快速构建工具kubeadm init --kubernetes-version=v1.14.1 --pod-network-cidr=10.244.0.0/16即master 和node1,node2 节点构建集群kubelet运行在所有节点上,负责启动POD和容器,以系统服务形式出现kubectl:kubectl是kubenetes命令行工具,提供指令kubectl get nodes#查看存在问题的podkubectl get pod

2020-12-28 20:00:35 82

转载 K8S基础概念

一、核心概念1、NodeNode作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。Node上运行着Kubernetes的Kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁、以及实现软件模式的负载均衡。Node包含的信息:Node地址:主机的IP地址,或Node ID。 Node的运行状态:Pending、Running、Terminated三种状态。 Node Condition:… N

2020-12-28 19:30:37 473

转载 EnableAsync使用技巧

SpringBoot项目中,有时候我们发现使用EnableAsync进行异步调用没有作用。分析原因:1. 异步方法使用@Async,没有确定:返回值为void或Future2. 异步方法和调用方法写在了同一类中,如果写在同一类中是没有效果的。实现EnableAsync进行异步调用两种方式:1.SpringBootApplication 启动类上,增加EnableAsync 启动异步注解2. 在对应的service实现类上加上EnableAsync 启动异步注解3. 如...

2020-12-28 18:21:29 798

原创 LockSupport

LockSupport是一个线程工具类,所有的方法都是静态方法,可以让线程在任意位置阻塞,也可以在任意位置唤醒。它的内部其实两类主要的方法:park(停车阻塞线程)和unpark(启动唤醒线程)。 如果线程先被unpark,再进行park,则直接放行import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.LockSupport;public class LockSupportTest { publ

2020-12-25 13:14:10 117

转载 Semaphore 限流

Semaphore,是用于控制一组线程访问资源。举个例子,老师上课,同学需要上厕所,老师准备了3个令牌,拿到令牌的同学就可以去上厕所,上完厕所的同学需要归还令牌。这样就最多同时只有3名同学上厕所。这就是Semaphore的应用场景。 Semaphore的构造函数可初始化令牌数量、是否公平锁。如果是公平锁,先申请令牌的可以先获取。 acquire() 和release()分别是获取和释放令牌,acquire(int) 和release(int) 分别是获取和释放多个令牌。Semaphore...

2020-12-25 12:11:40 124

原创 ReentrantReadWriteLock

读写锁 可以生成两把锁 一个读锁(读锁共享锁),一个写锁(互斥锁)import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class ReadWriteLockTest { static ReadWriteLock readWriteL.

2020-12-25 11:27:09 58

原创 Phaser的使用

分阶段进行,按照一定的流程执行,比如举行婚礼1、新郎新娘入场2、其它宾客入场3、所有人开始吃饭4、所有人离场5 新郎新娘洞房import java.util.concurrent.Phaser;import java.util.concurrent.TimeUnit;public class PhaserTest { static MarriagePhaser phaser = new MarriagePhaser(); static void milliSleep

2020-12-25 11:08:18 83

转载 CountDownLatch和CyclicBarrier

CyclicBarrier在用法上其实跟CountDownLatch十分相似,但是前者功能更加强大。CountDownLatch举例:CountDownLatch countDownLatch=new CountDownLatch(n); 当程序多次执行countDownLatch.countDown();导致计数器n=0时,阻塞的线程都将同时被唤醒。但是此时的n已经是等于0了,也就是说这个计数器就是一次性的。CyclicBarrier举例:CyclicBarrier cycl.

2020-12-25 10:46:23 95

转载 CountDownLatch 的用法

1.背景:countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。 存在于java.util.cucurrent包下。2.概念countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。(等待其它一组线程执行完毕后,该线程再执行,需要依赖其它线程的执行结果) 是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器

2020-12-25 10:33:32 98

原创 一个线程持有锁后,同步方法可以交互执行吗

一个线程里面的多个同步方法不能同时进行,必须等待一个方法执行完以后,另一个才能执行,代码如下import java.util.concurrent.TimeUnit;public class ThreadSysnTest { int a = 0; synchronized void add(){ for(int i=0;i<10000000;i++){ a++; } } synchronized voi

2020-12-25 09:34:14 95

mysql-5.5.16

mysql的安装包 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

2015-11-28

PLSQL_Developer_7.1

oracle的可视化图形工具 可以方便的导出数据库脚本文件 可以图形化的方式创建函数、存储过程、触发器、定时任务、索引、序列等oracle对象

2015-11-28

Navicat_for_MySQL_10.1.7

mysql 图形化工具 可以方便的传输数据给其他设备和导出sql文件

2015-11-28

图片轮播效果

实现图片的自动循环播放效果和浮动停止播放效果的功能

2015-06-14

jquery.cookie

cookie可以达到实现全局变量的效果,比如整个项目中切换皮肤或者切换语言

2015-06-09

测试单元jar包

测试方法的时候,不用写程序的入口main(),也不用new创建对象, 直接在方法上加上@test 然后以junit的方式运行。 注:没有返回类型的方法才可以加@test.

2015-06-07

pinyin4j汉字转化成拼音工具类

该工具是可以把汉字转换成拼音的工具,主要用途就像购票系统中输入bj就会把北京显示出来这样的效果,用不同的搜索形式显示出想要的结果

2015-06-07

smartWizaed2.0

向导,可以按照用户设定的步骤进行操作,可以有较好的用户体验

2015-06-05

空空如也

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

TA关注的人

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