自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 资源 (15)
  • 收藏
  • 关注

转载 Java PDFBox提取PDF中字符的坐标或位置

为了提取 pdf 中字符的坐标或位置和大小,我们将扩展 PDFTextStripper 类,拦截并实现 writeString(String string, List textPositions)方法。org.apache.pdfbox.contentstream 类。PDFTextStripper 去除所有文本。writeString() 方法中的List 包含有关字符的信息,例如是否其 Unicode、字符的 X 坐标、Y 坐标、高度、宽度、x 缩......

2022-06-23 14:53:58 4433

转载 JVM保守式GC(区分引用和基本数据)

HotSpotJVM在进行GC回收的时候,采用的是可达性分析法来对对象进行标记的,可达性分析法是从GC Roots出发(注意是GC Roots说明是有多个GC Root),当某个对象到GC Roots没有任何引用链时,则该对象判定为可回收对象(当然如果该对象重写过finalize()方法的话 还会有一次自我拯救的机会,会先将该对象放入一个F-Queue对象中)。不得不说,可达性分析法是一个非常不错的方法,能够解决引用计数法中相互引用而导致无法回收的问题。 从上面的描述中,我...

2021-11-12 23:20:08 989

转载 Java线程池种类及关键参数

在Java编码的过程中,我们经常会创建一个线程来提高程序的执行效率,虽然这样实现起来很方便,但是会有一个问题:如果并发的线程数多,并且每个线程都是执行一个时间很短的任务就结束了,这样会造成频繁的创建和销毁线程从而导致降低系统的效率。那么问题来了,有没有办法可用复用创建好的线程呢,也就是线程执行完一个任务后,不被销毁,继续执行其他的任务?在Java可以通过线程池来实现这样的效果。下面从三个方面和大家一起来探讨一下Java线程池相关的内容:Java中的ThreadPoolExecutor类 Java中

2021-09-01 20:50:02 1083

转载 juc包下四大并发工具

1.juc.CountDownLatch 闭锁一个线程在等待一组线程后再恢复执行await()等待其他线程执行完毕被等待线程执行完毕后计数器-1如何知道其他线程执行完了?计数器,若一组线程为,CountDown为5,减到0代表等待线程被全部执行完毕一次性工具:当Countdown的值减到0的时候再也无法恢复juc内部的代码都是lock体系来实现的import java.util.concurrent.CountDownLatch;import java.util.conc

2021-08-31 23:38:40 293

转载 Java原子类及内部原理

一、引入 原子是世界上的最小单位,具有不可分割性。比如 a=0;(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作是原子操作。再比如:a++;这个操作实际是a = a + 1;是可分割的,所以他不是一个原子操作。非原子操作都会存在线程安全问题,需要我们使用同步技术(sychronized)来让它变成一个原子操作。 但是,像i++这种非原子操作,我们除了使用synchroinzed关键字实现同步外,还可以使用java.util.concurre...

2021-08-31 23:22:15 178

转载 消息队列使用的四种场景介绍

一、简介消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种 1.串行的方式;2.并行方式(1)串行方式:将

2021-08-11 22:10:59 6525

转载 缓存与数据库一致性之一:缓存更新设计

一、缓存更新场景介绍缓存是一种提高系统读性能的常见技术,对于读多写少的应用场景,我们经常使用缓存来进行优化。例如对于用户的余额信息表account(uid, money),业务上的需求是:(1)查询用户的余额,SELECT money FROM account WHERE uid=XXX,占99%的请求(2)更改用户余额,UPDATE account SET money=XXX WHERE uid=XXX,占1%的请求由于大部分的请求是查询,我们在缓存中建立uid到money的键值

2021-08-09 20:56:21 168

转载 怎么保证 缓存和数据库中的数据一致

你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?首先需要考虑到:更新数据库或者更新缓存都有可能失败,在这种前提下分析业务带来的影响。  一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求“缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求串行化,串到一个内存队列里去。  串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大幅度降低,用比正常情.

2021-08-08 22:39:37 849

原创 单例模式的八种写法

1、饿汉式(静态常量)[可用]public class Singleton { private final static Singleton INSTANCE = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return INSTANCE; }}优点:这种写法比较简单,就是在类装载的时候就完成实例化。避免了线程同步问题。缺点

2021-08-02 14:54:22 506

转载 RabbitMQ简介及其六种工作模式

本文参考自:https://blog.csdn.net/kavito/article/details/91403659https://www.cnblogs.com/zpKang/p/13599813.html什么是消息队列MQ全称为Message Queue,即消息队列。“消息队列”是在消息的传输过程中保存消息的容器。它是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,

2021-07-14 11:45:06 728

转载 MYSQL的分区字段,必须包含在主键字段内

MYSQL的分区字段,必须包含在主键字段内在对表进行分区时,如果分区字段没有包含在主键字段内,如表A的主键为ID,分区字段为createtime ,按时间范围分区,代码如下:CREATE TABLE T1 ( id int(8) NOT NULL AUTO_INCREMENT, createtime datetime NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET

2021-07-14 09:52:19 2919

转载 springboot整合多数据源以及多数据源中的事务处理

前言本篇文章主要介绍的是springboot整合多数据源以及多数据源事务处理。多数据源就是在同一个项目中连接多个数据库,使用多个数据库可能是由于业务量扩大进行数据库拆分,也可能是根据项目实际情况需要连接多个数据库。比如我之前有个项目,需要访问一个已有的数据库进行查询操作,但不能修改,还需要新建数据库表进行其他的业务处理,这时就需要使用多数据源。GitHub源码链接位于文章底部。创建数据库创建member数据库,添加一张user表,字段为id主键自增,name,age;创建order数据库

2021-05-18 15:58:20 1554 1

转载 POST/GET请求中RequestBody和RequestParam的应用场景

POST请求时@RequestBody --> JSON字符串部分@RequestParam --> 请求参数部分application/json格局图图一.pngform-data、x-www-form-urlencoded格局图图二.png1、从content-type方面总结:① form-data、x-www-form-urlencoded:不可以用@RequestBody;可以用@RequestParam。见postman的格局,这两...

2021-05-17 10:40:58 1851

转载 SpringBoot中RedisTemplate订阅发布对象

解说RedisMessageListenerContainer Redis订阅发布的监听容器,你的消息发布、订阅配置都必须在这里面实现 * addMessageListener(MessageListenerAdapter,PatternTopic) 新增订阅频道及订阅者,订阅者必须有相关方法处理收到的消息。 * setTopicSerializer(RedisSerializer) 对频道内容进行序列化解析MessageListenerAdapter 监听适配器 MessageListe

2021-05-14 15:59:05 1221

转载 K8S健康检查--探针

参考链接https://segmentfault.com/a/1190000021402257https://jimmysong.io/kubernetes-handbook/guide/configure-liveness-readiness-probes.htmlhttps://www.jianshu.com/p/d87a50272310背景:在k8s部署服务的时候,会出现pod是running状态,也可以进入到容器中,但是服务端口没有起,尤其再是小组件,没有受到关注的情况下,就.

2021-05-11 14:23:02 672

转载 Java:多线程中的volatile

一、为什么使用volatile首先,通过一段简单的代码来理解为什么要使用volatile: 1 public class RunThread extends Thread{ 2 private boolean isRunning = true; 3 public boolean isRunning(){ 4 return isRunning; 5 } 6 7 public void setRunning(boolean isRunnin

2021-03-01 11:36:22 209

转载 volatile关键字的用法

关键字volatile的主要作用是使变量在多个线程间可见,强制从公共堆栈中取得变量的值,而不是从线程的私有数据栈中取得变量的值。这么说很难理解,我们直接看代码例子来说明。创建一个RunThread.java的类如下:运行类Run代码如下:public class RunTest { public static void main(String[] args){ try { RunThread thread = new RunThread();

2021-02-25 08:43:40 348

转载 MyBatis:使用MyBatis执行SQL多出LIMIT ?的问题,MyBatis分页查询SQL自动执行SELECT count(0)的Bug,PageHelper.clearPage()清理缓存

情景:1.在使用MyBatis执行SQL(包含分页功能)的时候,明明SQL里没写LIMIT,执行时却多出了一个LiMIT。2.在使用MyBatis执行SQL的时候,明明SQL里写的是SELECT * ...,执行时却执行了SELECT count(0)...,后文中对此Bug进行说明。解决方案:分页查询数据之前先清理分页缓存。先执行PageHelper.clearPage();SQL代码如下:发现SQL中并没有LIMIT。查询结果仅一页,期望的结果是多页。查..

2021-02-23 16:50:42 5354 3

转载 Mybatis中进行批量更新

一.更新多条数据,每条数据都不一样背景描述:通常如果需要一次更新多条数据有两个方式,(1)在业务代码中循环遍历逐条更新。(2)一次性更新所有数据(更准确的说是一条sql语句来更新所有数据,逐条更新的操作放到数据库端,在业务代码端展现的就是一次性更新所有数据)。两种方式各有利弊,下面将会对两种方式的利弊做简要分析,主要介绍第二种方式在mybatis中的实现。1.逐条更新(java实现)这种方式显然是最简单,也最不容易出错的,即便出错也只是影响到当条出错的数据,而且可以对每条数据都比较可控,更新失败

2021-02-23 16:29:35 1796

原创 (1)MySQL之并发控制与事务

1.共享锁(读锁)与排他锁(写锁) 同一时刻多个用户并发读取数据不会存在什么问题,因为读取不会修改数据,但是如果一个用户正在读取某个数据,而另一个用户又在修改这个数据,就会产生不确定的结果,这就涉及到并发控制。 在处理并发读的或者写时,可以通过实现一个由两种类型的锁组成的锁系统来解决,这两种类型的锁通常就被称为共享锁和排他锁,又叫做读锁和写锁。其中,读锁是共享的,多个用户可以在同一时刻读取同一个资源而互不干扰,写锁则是排他的,也就是说一个写锁会阻塞其他的写锁和读锁,只有这...

2020-12-22 19:42:40 163

转载 mybatis 报错:Caused by: java.lang.NumberFormatException: For input string

mybatis的if标签之前总是使用是否为空,今天要用到字符串比较的时候遇到了困难,倒腾半天,才在一个论坛上找到解决方法。笔记一下,如下:转自:https://code.google.com/p/mybatis/issues/detail?id=262错误描述:<select id="sltTreatment" resultType="com.vitaminmd.sunny.core.bo.Treatment"> select * from trea

2020-12-03 20:55:14 923

转载 SpringBoot项目中前端页面通过URL访问本地文件夹(访问静态文件)

前端页面通过URL访问本地文件夹在application.yml中添加配置 实现WebMvcConfigurer接口 前端页面中进行访问前端页面通过URL访问本地文件夹 因为SpringBoot项目中使用的嵌入Tomcat,所以前端页面不能像以前那样直接将从Tomcat很目录访问文件。解决办法:继承WebMvcConfigurer接口对访问URL进行拦截,然后将访问文件的URL映射至本地文件夹1.在application.yml中添加配置首先在本地创建文件夹acc...

2020-09-04 17:21:53 3369

转载 Java中mongodb使用MongoCollection和BasicDBObject条件查询

本文转自:https://www.cnblogs.com/richard-ju/p/L2018006.html//链接数据库 MongoClient mongoClient = new MongoClient( "172.26.xxx.xxx" , 27017 ); MongoDatabase mongoDatabase =mongoClient.getDatabase("xxxx"); MongoCollection<Document>...

2020-05-22 10:28:59 2483

转载 【PageHelper分页】实现拦截pageNum和pageSize

本文转自:https://blog.csdn.net/tr1912/article/details/80525621 我们在使用pageHelper的时候,总是需要往后端传pageNum和pageSize,以便我们在后面做分页处理,但是我们在controller中也需要在方法参数中接收并带到我们的数据查询层,中间基本对于这两个变量没有任何操作,这样做是在的很麻烦。今天我们写一个拦截,让这两个变量可以直接从请求中直接到我们的查询层,跳过从controller层到service层的艰辛。一...

2020-05-19 08:50:27 4563

转载 Mybatis调用MySQL存储过程(返回参数,单结果集,多结果集)

一、接收一个返回值使用Map接收返回参数,output参数放在传入的param中创建表:DROP TABLE IF EXISTS `demo`;CREATE TABLE `demo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8;-...

2020-05-14 21:01:46 1937

转载 Thymeleaf直接调用后台Service之${@serviceBean.doSomething()}

方法说明:thymeleaf的官方文档中提到了${@myBean.doSomething()}可以访问容器中bean的数据。前端thymeleaf写法:<label>性别: </label> <select name="status" th:with="type=${@dict.getType('sys_sex')}"> <option value="">--请选择--</option> ...

2020-05-13 14:41:03 2340 2

转载 MySQL分类统计数量

比如我表test里面有id,mc,xh三个字段(分别是自动编号,钢材名称(若干种),钢材型号(大号,中号,小号))id mc xh 1 钢管 大号2 铜管 大号3 铁管 小号4 铝管 中号5 钢管 小号我现在要分别统计出“mc”里面的各种型号的东西有多少。意思是:我要统计钢管,铜管,铁管,铝管的大,中,小号各有多少条记录。并且mc里面

2020-05-12 11:23:07 7238 7

转载 Springboot中前端传同属性名多对象的处理

本文转自:https://blog.csdn.net/selina5288/article/details/88167939在开发过程中我们经常会遇到表单提交数据时,具有相同属性名的两个对象。先创建两个对象,用户和产品public class User { private Integer id; private String name; public In...

2020-04-30 17:13:10 1791

转载 CSS样式——字体垂直、水平居中

本文转自:https://www.cnblogs.com/huchong/p/7875127.html<div class="tt">啦啦啦</div>.tt{ padding: 0px; width:500px; height:200px; text-align:center; background-color:#F69;...

2020-04-06 15:14:00 750

转载 Elasticsearch 6.4基本操作-Java版

本文转自:https://www.cnblogs.com/swordfall/p/9981883.html1. Elasticsearch Java API有四类client连接方式TransportClient RestClient Jest Spring Data Elasticsearch其中TransportClient和RestClient是Elasticsearch原生...

2020-04-01 14:36:19 723

转载 前后端分离项目,如何解决跨域问题

本文转自:http://www.imooc.com/article/292349SpringBoot实战电商项目mall(20k+star)地址:https://github.com/macrozheng/mall摘要跨域资源共享(CORS)是前后端分离项目很常见的问题,本文主要介绍当SpringBoot应用整合SpringSecurity以后如何解决该问题。什么是...

2020-03-17 19:06:00 895

转载 Elasticsearch:Java使用批量操作bulk及注意事项

1.BulkRequest对象可以用来在一次请求中,执行多个索引、更新或删除操作且允许在一次请求中进行不同的操作,即一次请求中索引、更新、删除操作可以同时存在BulkRequest bulkRequest = new BulkRequest();bulkRequest.add(new DeleteRequest("posts", "doc", "300"));bulkRequ...

2020-03-02 11:05:24 6927

转载 Elasticsearch索引Index API(7.5.0)

本文转自:https://www.cnblogs.com/ruhuanxingyun/p/11429347.html1. Java代码层配置模板,执行成功将打印自定义的放置模板成功几个字,可前往官网地址:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-put-templa...

2020-02-19 20:46:00 2316 1

原创 Mybatis处理select中where后面的and的两种方式

第一种方式:后面跟1=1,使条件绝对成立:<select id="selectStudent"> select * from student where 1=1 <if test=" id !=null and id !='' "> and id = #{id} </if> <if test=" name !=null and name...

2020-02-07 15:14:31 18665 2

转载 通过命令行查看MySQL配置参数、状态优化MySQL性能

本文转自:https://blog.csdn.net/demonson/article/details/80103204mysql的监控方法大致分为两类:1.连接到mysql数据库内部,使用show status,show variables,flush status 来查看mysql的各种性能指标。2. 直接使用mysqladmin查看其性能指标,例如:UserParameter=my...

2020-01-20 19:19:11 2806

转载 Python获取时间段内的随机时间和时间戳(列表等)

本文转自:https://blog.csdn.net/Chihwei_Hsu/article/details/83589309获取两个时间点间的随机时间&时间戳方案一# python2 不兼容,python3正常import datetime,randomdef randomtimes(start, end, n, frmt="%Y-%m-%d"): stime =...

2020-01-16 15:57:58 3807 1

转载 VUE中iview table组件和page分页组件简单组合使用

本文转自:https://segmentfault.com/a/1190000010392169最近在iview交流群里,有人问过分页怎么使用?iview的列表示例里面暂时还未有列表和分页的组合,所以暂时做了一个简单列表和简单分页的组合,供大家参考。模板<template> <div> <Table :columns="hist...

2019-12-10 20:20:54 2524

转载 HTML页面中设置同行元素垂直居中

Using Flexbox to set vertical centre easily 当我们用CSS设置HTML页面布局的时候,经常会遇到需要将若干Elements水平或者垂直对齐的情况。对我来说,水平对齐还比较容易处理,但是垂直对齐,尤其是在浮动float布局上将同一行的不同高度的元素垂直居中排列,常常让我头疼不已。如果你还没有被这样的痛苦折磨过,那么你很幸运,因为现在有了更...

2019-12-09 10:22:00 1195

转载 SpringBoot中Service层事务控制

SpringBoot中使用事务比较简单,在Application启动类上添加@EnableTransactionManagement注解,然后在service层的方法上添加@Transactional注解@Transactional属性属性 类型 描述 value String 可选的限定描述符,指定使用的事务管理器 propagation enum...

2019-11-29 14:18:07 8289 1

转载 Vue项目中mock.js的使用(前端数据模拟)及基本用法

官方网址:http://mockjs.com/mockjs是用来模拟产生一些虚拟的数据,可以让前端在后端接口还没有开发出来时独立开发。我们可以使用真实的url,mockjs可以拦截ajax请求,返回设定好的数据。1.使用方式这里主要讨论在vue项目中,使用axios发送ajax请求,mock.js模拟数据的流程。vue-cli搭建项目后,在项目中安装axios和mock.js...

2019-11-26 11:28:22 4721

cryptography-2.8-cp27-cp27m-manylinux1_x86_64.whl

This is a library for making SSH2 connections (client or server). Emphasis is on using SSH2 as an alternative to SSL for making secure connections between python scripts. All major ciphers and hash methods are supported. SFTP client and server mode are both supported too.

2020-03-09

Spring-Boot-2.0-Samples.rar

适用于Spring boot开发学习的源代码,包含了丰富的案例,学习完后能够掌握相关开发技能

2019-08-11

struts2框架JAR包

这里边包含了struts2.0.11和struts2.3.34两个版本的struts2框架包,是学习SSH必不可少的资源。

2018-08-11

Java编程思想(第四版)练习题答案完整版

该文档是官方提供的Java编程思想(第四版)练习题答案,是完整版的,拥有所有章节练习题的参考答案,是学习Java编程的必备资料之一。

2018-03-10

MySQL数据库的ODBC驱动安装包(32位和64位Windows系统)

这是MySQL数据库的ODBC驱动安装包,有Windows系统32位和64位的,是通过JDBC-ODBC桥连访问MySQL数据库时配置ODBC数据源时需要安装的驱动包。

2018-02-10

MySQL数据库驱动程序JAR包(JDBC访问数据库)

MySQL驱动程序JAR包,JAVA开发连接MySQL数据库的驱动JAR包,非常实用!使用方式见:http://blog.csdn.net/jisuanjiguoba/article/details/79302334

2018-02-09

libsvm工具箱

libsvm-3.21工具箱是针对matlab推出的工具箱,软件的功能非常强大,支持32位和64位的操作系统,适用于计算智能研究、开发者、学生等进行使用,而且上手操作简单。只要复制到toolbox工具箱下,就可以使用!

2018-02-09

吴恩达斯坦福公开课机器学习的讲义+课后作业+答案

这是人工智能和机器学习领域国际最权威学者之一吴恩达的斯坦福公开课《机器学习》的讲义、习题和答案等,是学习机器学习必看的资料,强烈推荐!

2017-10-20

sl4a_r6.apk

Android应用组件,能够支持使用简单的脚本语言来开发Android应用程序,使Android开发简单和快速。其支持的脚本语言包括Python、Perl、JRuby、Lua、BeanShell、JavaScript、Tcl和shell等。

2017-09-23

遗传算法工具箱GEATbx

非常实用的遗传算法工具箱,数学建模中常用的工具箱之一,谢菲尔德遗传算法工具箱。

2017-08-21

Java语言程序设计第10版书中源代码+习题解答

包含了书中源代码以及习题答案,是学习《Java语言程序设计》必不可少的资料!

2017-07-27

Python语言程序设计(梁)Introduction to Programming Using Python.rar

包括了书中源程序、练习题答案,是学习Python的一份非常好的资料。

2017-07-20

heart_scale.mat

下载的libsvm中的heart_scale在matlab下是不可用的,这个是在matlab下可以用的heart_scale

2017-07-13

《R语言编程艺术》书中代码及数据

拥有完整的《R语言编程艺术》书中代码及数据

2017-06-28

2015年计算机四级网络工程师题库及答案解析(完整版)

适合于2015年计算机四级网络工程师考试专用,题库完整,认真做完肯定能过!

2015-03-19

空空如也

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

TA关注的人

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