- 博客(261)
- 资源 (27)
- 收藏
- 关注

原创 公共请求(二)利用IOC控制反转转发给分service的bean
EdspExecuter抽象接口:/***通过http请求的接口类**/public interfaceEdspExecuter{public Stringexecute(Map params) throws Exception();}总的执行类,通过IOC根据bean的值寻找具体的实现类:String serviceClass =interfaceTableDTO1.getServiceClass();EdspExecuter executeUnit =(...
2020-11-19 20:32:50
109

原创 公共请求(一)httpCommonMethod公共请求方法,接口及参数放在数据库里
public CommonServiceImpl implements CommonService{private Logger logger=Logger.getLogger(CommonServiceImpl.class);@Autowierdprivate CallInformationDao callInformationDao;@Autowierdprivate InterfaceTableDao interfaceTableDao;//公共方法httpCommonMethodp.
2020-11-14 15:54:39
1407
原创 Java内存区域
新生代主要存一些朝生夕死的对象,老年代存的是比较稳定的对象或者是大对象,持久代用于存放用于存放静态文件,如今Java类、方法等。
2021-11-19 13:37:54
478
原创 分布式事务
今天我们来聊一聊分布式事务,在传统的单体应用中,事务的控制非常简单,Spring框架都为我们做了封装,我们只需简单地使用@Transactional注解就能进行事务的控制,然而在分布式应用中,传统的事务方案就出现了极大的问题:当用户进行下单操作时,我们需要查询出当前下单的用户、购物车中的商品、扣减商品库存,这些内容都被划分到不同的模块中,所以一个下单的操作往往需要远程调用多个模块。假设在执行下单流程中,扣减库存成功,但是在扣减用户余额的时候出现了异常,此时用户模块中会回滚扣减的金额,但由于用户模块和
2021-10-24 20:46:21
335
原创 自定义线程池及补获异步返回是否带参数的处理
1. 为什么需要异步方法?先说结论: 合理使用异步方法可以让业务接口快到飞起!异步方法适用于逻辑与逻辑之间可以相互分割互不影响的业务中, 如生成验证码和发送验证码组成的业务, 其实无需等到真正发送成功验证码才对客户端进行响应, 可以让短信发送这一耗时操作转为异步执行, 解耦耗时操作和核心业务;同理还有文章阅读的业务逻辑 = 查询文章详情 + 更新文章阅读量后再响应客户端, 其实也无需等到阅读量更新后才响应文章详情给客户端, 用户查看文章是主要逻辑, 而文章阅读量更新是次要逻辑, 况且阅读量就算更
2021-10-24 10:01:44
301
原创 @Async注解实现和异步执行注解 @EnableAsync
对于一些耗时较长的运算或者数据处理,在客户端对请求响应要求较高时,我们可以采用异步的方式,先返回客户端通知,然后自动异步执行程序。本文使用 @Async注解实现。1.先搞一个线程池,为啥要用线程池?该用的时候自然就用,这里。不啰嗦线程池的问题,不是本文重点@Configurationpublic class TaskExecutorConfig { @Value("${executor.corePoolSize:1}") private Integer corePoolSize
2021-10-24 09:39:29
388
原创 vue表单提交
1、form标签 @submit.prevent="submit($event)"<form @submit.prevent="submit($event)"> <input type="text" class="form-control" placeholder="请输入姓名" name="username"> <input type="submit" value="登陆" class="login" /></form>me...
2021-10-12 10:46:05
2361
原创 springboot四大组件
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>myb...
2021-09-02 09:11:26
319
原创 Java中如何保证线程安全性
一、线程安全在三个方面体现1.原子性:提供互斥访问,同一时刻只能有一个线程对数据进行操作,(atomic,synchronized);2.可见性:一个线程对主内存的修改可以及时地被其他线程看到,(synchronized,volatile);3.有序性:一个线程观察其他线程中的指令执行顺序,由于指令重排序,该观察结果一般杂乱无序,(happens-before原则)。接下来,依次分析。二、原子性---atomicJDK里面提供了很多atomic类,AtomicInteger,Atom
2021-09-02 08:46:15
945
原创 短时间内插入1000万条数据到数据库
环境:准备测试前,我查看了一下我公司的电脑是4核的(四个子窗口)废话少说,直接附上代码和结果吧 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
2021-08-18 17:11:38
398
原创 将1000万条数据快速插入数据库
我用到的数据库为,mysql数据库5.7版本的1.首先自己准备好数据库表其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > 4194304). You can change this value on the server by setting the max_..
2021-08-18 15:32:11
1323
原创 sharding-jdbc读写分离
读写分离不使用Spring引入Maven依赖<dependency> <groupId>io.shardingsphere</groupId> <artifactId>sharding-jdbc-core</artifactId> <version>${sharding-sphere.version}</version></dependency>基于Java编码的规则
2021-08-10 14:27:31
234
翻译 RabbitMQ的重要概念及安装
一文搞懂 RabbitMQ 的重要概念以及安装 一 RabbitMQ 介绍 1.1 RabbitMQ 简介 1.2 RabbitMQ 核心概念 1.2.1 Producer(生产者) 和 Consumer(消费者) 1.2.2 Exchange(交换器) 1.2.3 Queue(消息队列) 1.2.4 Broker(消息中间件的服务节点) 1.2.5 Exchange Types(交换器类型) ① fanout ② direct
2021-08-10 09:37:59
178
原创 字符流与字节流
获取用键盘输入常用的两种方法方法 1:通过ScannerScanner input = new Scanner(System.in);String s = input.nextLine();input.close();方法 2:通过BufferedReaderBufferedReader input = new BufferedReader(new InputStreamReader(System.in));String s = input.readLine();Java..
2021-08-03 15:01:56
377
1
转载 linux常用命令
服务器一般都是命令页面,不像 windows 在图形页面点点鼠标就好,所以掌握些基本的 Linux 命令是很有必要的,不然就无法操作 Linux,更体会不到 Linux 的精髓。这次,我们就来看看关于网络相关的命令。学习网络不应该只局限于理论,作为工程师的我们,掌握一些基本的网络命令对我们帮助会很大,因为平时在远程操作、开发、调试、排查线上问题的时候,会常常用到。Linux 为我们提供了很多网络相关的命令,我们这次就来看看 Linux 系统里有哪些常用的网络命令。如果我们要想操作 Linux
2021-07-21 15:38:13
167
原创 几种分布式锁的解决方案
为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度,而这个分布式协调技术的核心就是来实现这个分布式锁。分布式锁的几种解决方案分布式使用场景如果我们业务中确实存在这个场景的话,我们就需要一种方法解决这个问题,这就是分布式锁要解决的问题分布式锁实现的三个核心要素:加锁最简单的方法是使用 setnx 命令,key 是锁的唯一标识,按业务来决定命名。比如想要给一种商品的秒杀活动加锁,可以给 key 命名为 “lock_order_商品ID” .
2021-07-15 14:57:25
927
原创 Java语言异步非阻塞模式
本文首先介绍异步非阻塞模式,从线程模型的角度分析阻塞和非阻塞模式的区别。之后介绍 Promise 设计模式的应用场景及工作流程。最后,提供一种简易的 Java 实 现,能够实现基本的功能需求,并做到线程安全。在正式探索技术问题之前,我们先来看看什么是 异步非阻塞模型 。如图1-1所示,展示了两个小人通信的场景:假设左侧小人发起请求,而右侧小人处理请求并发送响应:左侧小人先投出一个苹果request,被右侧小人接收到;右侧小人进行处理后,再投出苹果 response,被左侧小人接收到。我们考察左侧小人
2021-07-15 14:15:49
323
原创 深入理解线程池
多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。本系列文章将从Java内存模型、volatile关键字、synchronized关键字、ReetrantLock、Atomic并发类以及线程池等方面来系统的认识Java的并发知识。通过本系列文章的学习你将深入理解volatile关键字
2021-07-12 22:39:56
200
原创 pinode云服务器注意点
一、建立VPN前提Windows2003安装时候VPN服务程序就已经被安装了只它被集成到“路由和远程访问服务器”控制不过进行VPN配置时候我们必须关闭Windows2003防火墙服务因系统防火墙服务会阻碍VPN连接方法打开服务窗口然后找到“Windows Firewall/Internet Connection Sharing (ICS)”项“禁止”该服务...
2021-02-25 15:40:46
1948
1
原创 kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。Kafka 有如下特性:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输。同时支持离线数据处理和实时数据处理。Scale out:支持在线水平扩展。kafka的术
2021-02-25 10:52:12
203
原创 kafka和storm集群的环境安装
storm和kafka集群安装是没有必然联系的,我将这两个写在一起,是因为他们都是由zookeeper进行管理的,也都依赖于JDK的环境,为了不重复再写一遍配置,所以我将这两个写在一起。若只需一个,只需挑选自己选择的阅读即可。这两者的依赖如下:Storm集群:JDK1.8 , Zookeeper3.4,Storm1.1.1; Kafa集群: JDK1.8 ,Zookeeper3.4 ,Kafka2.12;说明: Storm1.0 和Kafka2.0对JDK要求是1.7以上,Zookeeper3.
2021-02-25 10:51:53
187
原创 HttpURLConnection与HttpClient比较和使用示例
HttpURLConnection与HttpClient比较和使用示例1. GET请求与POST请求HTTP协议是现在Internet上使用得最多、最重要的协议了,越来越多的Java应用程序需要直接通过HTTP协议来访问网络资源。在介绍HttpURLConnection前,我们还是再来说一下URL请求最常用的两种方式:GET请求与POST请求。GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:http://loc.
2021-01-18 10:40:12
302
原创 nohup: ignoring input and appending output to ‘nohup.out’
nohup sh bin/mqnamesrv </dev/null&> /dev/null &
2020-12-25 15:40:50
1568
2
原创 Spring为bean提供了两种初始化bean的方式,实现InitializingBean接口里的afterPropertiesSet方法,或者在配置文件中通过init-method指定
配置文件<bean id="testInitializingBean" class="com.TestInitializingBean" ></bean>Main函数如下public class Main { public static void main(String[] args){ ApplicationContext context = new FileSystemXmlApplicationContext("/src/main/java/...
2020-12-17 16:30:11
479
1
原创 @Configuration用于定义配置类,可替换xml配置文件
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。注意:@Configuration注解的配置类有如下要求:@Configuration不可以是final类型; @Configuration不
2020-11-07 18:19:18
590
原创 本地URL直接快速请求本地接口或远程接口
//读取xml文件public static byte[] readFile(String file){try{ byte[] xml;File file2 = new File(file);if(!file2.exists()){return null}FileInputStream fis = new FileInputStream(file);BufferredInputStream bis=new BufferredInputStream(fis);xml=new byte...
2020-11-07 18:13:15
1404
原创 springboot 里main函数启动程序
springboot 里main函数启动批量程序@EnableTransactionManagement@SpringBootApplication@MapperScan(basePackages={"com.test.dao"})public class Tmain implements CommandLineRunner{Logger logger=LogManager.getLogger(Tmain.class); @Resource private TestService t
2020-11-07 16:33:36
1141
原创 IOC控制反转,你了解吗
IoC 思想IOC(控制反转)是一种依赖倒置原则的代码设计的思路,它主要采用(DI)依赖注入的方式来实现。不使用IoC思想的传统模式在传统模式中,对象由程序员主动创建,控制权在程序员手中。程序可以做到正常工作,但仍有一个难以避免的问题。如果用户需求变更,程序员就要修改对应的代码,代码量不大还好,如果代码量巨大的话 修改一次的成本…这个问题就是耦合性过高引起的,修改一次需求,或多或少会造成代码的修改,工作量先不说,维护起来也是极其不便的啊。就如上图中这四个齿轮(对象)一样,互相啮合,如果
2020-11-06 17:29:36
215
原创 如何在SpringBoot中,使用Netty实现远程调用?
众所周知我们在进行网络连接的时候,建立套接字连接是一个非常消耗性能的事情,特别是在分布式的情况下,用线程池去保持多个客户端连接,是一种非常消耗线程的行为。那么我们该通过什么技术去解决上述的问题呢,那么就不得不提一个网络连接的利器——Netty.NettyNetty是一个NIO客户端服务器框架:它可快速轻松地开发网络应用程序,例如协议服务器和客户端。 它极大地简化和简化了网络编程,例如TCP和UDP套接字服务器。NIO是一种非阻塞IO ,它具有以下的特点单线程可以连接多个客户端。 选择器
2020-11-04 17:36:25
271
原创 BufferedInputStream和BufferOutputStream拷贝
package com.soar.stream;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class Demo5_Buff..
2020-11-03 17:02:07
446
原创 nohup,linux后台挂起
一、Linux 下使用 nohupUnix/Linux下一般比如想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行weblogic在后台:./startWebLogic.sh &但是加入我们很多程序并不象weblogic一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用 &结尾。但是如果终端关闭,那么程序也会被关闭。但是为了能够后台运行,那么我们就可以使用nohup这个命令。比如我们有个startWebLogi
2020-10-17 16:01:47
6068
原创 解决Eclipse找不到或无法加载主类问题,请重点检查jar包是否出错
以前在用eclipse的时候经常遇到"找不到或无法加载主类"这样的问题,遇到了就很头疼,总是误打误撞的搞好了.但不知道问题的根源在哪,于是问题再次出现的时候又不知道从何下手.今天无聊,打算彻底研究下问题是如何出现的.其实eclipse的java编译器是根据原java文件是否更新而编译java文件的.也就是说原java文件如果没有更新那么就运行上一次已经编译好的class文件.我们做个小实验:进入项目文件夹下删除已经编译好的class文件再次运行程序错误出现了"找不..
2020-10-16 08:53:11
2326
原创 oracle表list分区
create table user(id varchar2(100),addtime DATE,userid varchar2(100),namevarchar2(100)) nologging compressPARTITION BY LIST(addtime)(PARTITION _19000101 VALUES(TO_DATE('1900/01/01','YYYY/MM/DD')))COMMENT ON user.addtime is '添加时间';...
2020-09-17 18:20:22
855
原创 service加上异步
@overridepublic String getselect (String paramString){.......JSONObject jsonResult=null;jsonResult=......;returnjsonResult.toString();}@override@Asynpublic String getselect (String paramString){.......JSONObject jsonResult=null;...
2020-09-17 18:20:12
427
1
原创 nexus中上传了第三方jar包,在本地项目中添加了引用,但就是下载不下来。
问题描述在nexus中上传了第三方jar包,在本地项目中添加了引用,但就是下载不下来。转载文章1. 打开windows -> preferences -> maven,勾选如图所示2. 打开 windows -> show views -> orther -> maven -> maven repositories 视图3. 在maven repositories 视图中的全局repositories上右键,选择Update index...
2020-06-12 18:04:37
4036
原创 tortoisegit的使用
tortoisegit只是个GUI,建立在git基础之上。结构 说明 workspace(工作区) 当前看到的最新的目录内容 Index(暂存区) 暂存区标记了你当前的工作目录中,哪些内容 是被Git管理的。 Repository(本地仓库) 保存了对象被提交过得各个版本。 Remote(远程仓库) 是本地仓库的异地备份,远程仓库的内容可能 被分布在多个地点的处于协作关系的本地仓库,修改,因此他可能与本地仓库同步,也可能不同步。 ..
2020-05-26 22:39:09
749
原创 Mapped Statements collection does not contain value for 等错误信息
上面的错误信息一般是类或接口名或命名空间没有对应上
2020-05-26 22:03:43
171
原创 postman的几种参数方式请求方式
1.参数为实体类时(参数写全)2.@QueryParam等注解接收具体参数时3.请求路径里面带个参数且用@PathParam等注解接收参数时Postman中post的数据类型post中有以下数据类型1、form-data2、x-www-form-urlencoded3、raw4、binaryPostman请求不同的post数据类型from-datamultipart/form-data,它将表单...
2020-05-26 21:59:13
17269
tortoisegit使用说明.docx
2020-05-26
nginx里的memcached配置需要的包
2018-03-19
有人网络调试助手 串口调试助手二合一
2016-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人