自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

桔子大大

博客如此多娇,引得多少程序猿竟折腰

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

原创 分布式事物

一、分布式架构的CAP理论 一致性(Consistency) (所有节点在同一时间具有相同的数据) 可用性(Availability) (保证每个请求不管成功或者失败都有响应) 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作 二、什么是分布式事物事物:由一系列动作共同完成的一件事分布式事物:又不同服务之间通过网络远程协作完成的事物三、Seata 官方文档Seata:一款开源的分布式式事物解决方案,致力..

2022-05-27 10:07:40 230

原创 数据库bigint转为JAVA中的String

问题:今天遇到一个问题,两张表a,表b中同一个字段customer_id,存的值也是相同的,但是此字段在不同表中类型不一致,导致索引失效。这个字段其实是客户表的主键ID(bigint)。在t_a中类型为bigint,在t_b中类型为varchar。所以在对应的代码中表现形式分别为<result column="customer_id" jdbcType="BIGINT" property="customerId"/><result col...

2022-04-22 15:02:49 3900

原创 重启rabbitmq后,队列中没有消费者的原因

问题: 上次生产服务器出问题,导致上面的rabbitmq主节点和一系列应用服务宕机。运维先重启应用服务(消费者)后再启动MQ主节点后发现,主节点队列上堆积的消息没有被消费,点进队列一看,没有消费者!场景复现: 在开发环境搭建mq集群,模拟生产场景。场景重现: 启动消费者应用,可以发现日志报错信息如下:解释一下意思就是:消费者发现没有要监听的 queue 时,默认会进行三次重试监听 queue,三次都失败后就无法重试了(三次时间很短,默认10...

2021-12-15 16:53:06 6687 3

原创 linux启动jar包脚本之远程端口占用报错

PATH=$PATH:$JAVA_HOME/binNAME=$1VERSION=$2PORT=$3echo $NAMEID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`for id in $IDdokill -9 $idecho "killed $id"donenohup java -server -Xms600m -Xmx600m -Xmn256m -XX:MetaspaceSi.

2021-08-25 11:29:41 752

原创 Excel之大数据导出

前言:excel导出其实是很常见的一个需求,之前一直都是傻傻的用apache的POI来写,用起来很复杂。最近发现网上其实还有一些前人写好的轮子,于是瞬间投入了他们的怀抱(主要是简单易用!!!)选型: 网上关于excel的开源框架比较流行的有两种:EasyPOI、EasyExcel。 EasyPOI api文档:http://easypoi.mydoc.io/ EasyExcel 文档:https://alibaba-easy...

2021-04-23 11:38:24 1234

原创 面试复习2

2021-03-181、MYSQL(开源的关系型数据库) 1.1存储引擎:古老的存在MyISAM,新崛起的霸主InooDB; 事务性和崩溃后的安全回滚:MyISAM不支持事务,InooDB支持事务回滚和事务崩溃修复 锁:MyISAM支持表级锁,InnoDB支持行级锁和表级锁 外键...

2021-03-18 17:02:37 87

转载 MQ学习--rabbitMQ

https://www.jianshu.com/p/79ca08116d57

2020-12-28 11:08:58 83

转载 集群、分布式、微服务的区别

写在开始:本文不是原创,而是对网上多个大佬们回答的个人总结,如有雷同,就是copy。一、集群指同一种组件的多个实例,形成的逻辑上的整体。单机处理到达瓶颈的时候,你就把单机复制几份,这样就构成了一个“集群”。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。每个节点都提供相同的服务,那么这样系统的处理能力就相当于提升了好几倍(有几个节点就相当于提升了这么多倍)。但问题是用户的请求究竟由哪个节点来处理呢?最好能够让此时此刻负载较小的节点来处理,这样使得每个节点的压力都比.

2020-12-28 10:15:14 724 1

原创 阿里云OSS存储

一、资料链接 阿里云oss 文档 阿里云oss API 二、入门demo 下载地址public class HelloOSS { static Logger logger = Logger.getLogger(HelloOSS.class); // endpoint是访问OSS的域名。如果您已经在OSS的控制台上 创建了Bucket,请在控制台上查看...

2019-11-11 17:59:13 1720

原创 腾讯云模板API对接

由于腾讯云sdk只提供了短信发送的方法,模板、签名的方法只提供了url需要自己按照短信sdk方法review。所以特此记录。1.先编写返回值的对象类public class SmsTemplateResult extends SmsResultBase { private int result; // 错误码,0表示成功,非0表示失败...

2019-09-02 10:30:02 835

原创 vbs实现win下执行linux中的脚本命令

Dim WshShellSet WshShell=WScript.CreateObject("wscript.shell")WshShell.Run "cmd /c ssh [email protected]"WScript.Sleep 200WshShell.AppActivate "ssh.exe"WScript.Sleep 200WshShell.SendKeys "te...

2019-08-30 15:07:10 1040

原创 腾讯云和阿里云短信接口区别

一、腾讯云短信接口1.指定模板单发短信SmsSingleSender1.send不需要参数和模板id (自定义) public SmsSingleSenderResult send(int type, String nationCode, String phoneNumber, String msg, String extend, String ext)2.需要参数和模板id ...

2019-08-30 11:23:26 2277

原创 小程序中在a页面中引入b页面以及点击事件

需要实现的功能:在a页面中引入b页面以及点击事件解决方法:1.首先在a中引人b.wxml文件:分两种。includ和import。include和import区别2.然后在a中引入b.js。这里就需要在b中使用module.exports来暴露相应的方法。才能让在a中点击b页面时事件生效。这里就涉及到了如何绑定page{ }外定义的方法为响应事件。具体代码参考如下a.wxml...

2019-04-01 10:18:16 1973

原创 数据结构笔记---复杂度判定

1.时间复杂度:一个算法的执行时间这一变化趋势可表示为输入规模的一个函数,称之为时间复杂度(time compleity)影响执行时间的因素有:输入的实例规模 输入各元素的不同 输入次序 不同的硬件平台上 不同的操作系统因此为了超脱于具体硬件平台和软件环境,我们将时间复杂度理解为算法中各条指令的执行时间之和(即算法执行基本操作的总次数)。也就是说T(n)决定于组成算法的所...

2019-03-29 14:32:03 342

原创 计算模型

算法的四个标准:正确性 健壮性:输入非法数据,算法也能适当地做出反应后进行处理,不会产生预料不到的运行结果。 可读性:易于阅读、理解和交流,便于调试、修改和扩充。 时空性(效率):算法的时空性是该算法的时间性能和空间性能。 主要是说算法在执行过程中的时间长短和空间占用多少问题。算法处理数据过程中,不同的算法耗费的时间和内存空间是不同的。图灵机模型、RAM等模型为度量算法性能提供了...

2019-03-20 11:28:05 3555

原创 不会的题目19.3.13

1、HTTP和HTTPS的区别:http:无状态,一次请求要三至四次握手。 数据不加密。安全性差 不能区别是否已经响应过请求------无辨识度https:通过ssl/tls协议加密 身份验证 保护数据完整度 内容加密2、多线程的运用环境:从用户的角度考虑,就是为了得到更好的系统服务;从程序自身的角度考虑,就是使目标任务能够尽快的完成,更有效的利用系统资源。综合考虑,...

2019-03-13 11:21:13 210

转载 深入理解MySQL索引

一、介绍1.什么是索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。2.为什么要有索引呢?索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其...

2019-03-03 23:24:28 352

转载 深入学习mysql

转载自:MySQL两种存储引擎: MyISAM和InnoDB 简单总结数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySql的核心就是存储引擎MyISAM是MySQL的...

2019-03-01 18:16:33 291

转载 JVM优化

JVM优化:1、一般来说,当survivor区不够大或者占用量达到50%,就会把一些对象放到老年区。通过设置合理的eden区,survivor区及使用率,可以将年轻对象保存在年轻代,从而避免full GC,使用-Xmn设置年轻代的大小2、对于占用内存比较多的大对象,一般会选择在老年代分配内存。如果在年轻代给大对象分配内存,年轻代内存不够了,就要在eden区移动大量对象到老年代,然后这些移动...

2019-02-25 14:41:28 460

转载 JVM之类加载机制详解

参考文章:JVM完整深入解析,JVm类加载机制详解一、class类对象在java世界里,一切皆对象。从某种意义上来说,java有两种对象:实例对象和Class对象。每个类的运行时的类型信息就是用Class对象表示的。它包含了与类有关的信息。其实我们的实例对象就通过Class对象来创建的。Java使用Class对象执行其RTTI(运行时类型识别,Run-Time Type Identif...

2019-02-25 14:37:44 311

转载 JVM之GC

转自:JVM完整深入解析今天我们来看看JVM的垃圾回收机制(GC)我们可以从以下三个方面来学习GC:哪些对象可以被回收 何时回收GC 采用什么方式回收GC (Garbage Collection)的基本原理:将内存中不再被使用的对象进行回收,GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间,Java在对对象的生命周期特征进行分析后,按照新生代、旧生代的方式来对对...

2019-02-22 16:34:57 148

原创 JVM之初体验

     目前Java是一门主流的编程语言,其热门程度可想而知。然而,Java这门语言的易上手也导致了很多程序员对其基础知其然而不知其所以然。今天我们就来详细介绍下JVM。本文参考:Unserstading JVM Internals,JVM内存管理,【译】深入理解JVM目录一 Java虚拟机规范二 JVM定义三 JVM原理四 JRE/JDK/JVM三者间的关系五 JV...

2019-02-21 15:48:12 240

转载 泛型

一、什么是泛型?泛型实现了参数化类型的概念,使代码可以应用于多种类型。“泛型”这个术语的意思就是:“适用于许多许多的类型”。参数化类型,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。二、简单泛型入门实例class A{}public class Holder1{...

2019-02-19 17:48:32 123

原创 JAVA关键字

java基础是很重要的一部分。其中关键字又是重中之重。以下是我参考网上的一些blog总结的关键字的理解。1.Static: static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。Static修饰的方法称之为:静态方法。还有静态变量,静...

2019-02-15 14:30:16 109

转载 springcloud详细介绍必看《转》

第一篇:转载自:https://blog.csdn.net/Java_3y/article/details/82107339第二篇:https://blog.csdn.net/zxl2016/article/details/80588921

2019-01-11 10:49:07 170

转载 log4j.properties配置文件详解

本文转载自:https://www.cnblogs.com/xiaobaizhiqian/p/7956690.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Logg...

2019-01-03 15:07:38 154

原创 Redis

一、什么是缓存       缓存就是在内存中存储的数据备份,当数据没有发生本质变化的时候,我们避免数据的查询操作直接连接数据库,而是去    内容中读取数据,这样就大大降低了数据库的读写次数,而且从内存中读数据的速度要比从数据库查询要快很多。二、什么是redis       redis是完全开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的高性能Key-Value数据库。...

2019-01-02 14:43:56 154

转载 在一个activity中不同的fragment中加载高德地图时,百度地图重合叠加覆盖的解决方案

1.首先引用百度论坛上的一个例子,地址为:http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&amp;tid=883982.问题主要表现在2.1 tabOneFragment中有百度地图,tab2中也有百度地图,切均为全屏显示,为了保存在fragment切换过程中,记录保存当前fragment的状态和一些控件的值,采用了 hide和...

2018-11-27 11:44:25 1119

原创 android之接收到的参数是json类型字符串

前提:接收到的参数         [{},{},{}]import的包所以你需要导包//result为接收到的String类型的json字符串 JSONArray jsonArray = JSONArray.fromObject(result); for (int i = 0;i&lt;jsonArray.size();i++){ ...

2018-11-16 18:10:47 933

原创 android之handler和asynctask

Handler消息机制(开线程时注意他什么时候停止,定义一个flag,activity销毁时改变,然后再线程里判断)第一种方式:sendMessage()来执行更新uiPrivate Handler Handler = new Handler(){ //处理消息(被主线程执行) Public void handlerMessage(Message msg){ String str ...

2018-11-16 18:04:54 324

原创 android之Intent

显示intent的四种打开activity的方式:1、Intent intent = new Intent();    Intent.setClass(this,Activity.class);    startActivity(intent);2、Intent intent = new Intent();    Intent.setClassName(this,”com.sy...

2018-11-16 18:01:30 156

原创 android调用高德地图

最开始附上我的初始化参数。 private MapView mapView; private AMap aMap; private ToggleButton btn_mapchange; private MyLocationStyle myLocationStyle; private LocationSource.OnLocationChangedListen...

2018-11-09 17:52:14 352

原创 初识Android

     说起Android,我其实在内心是有些微微的向往的。毕竟手机app普及程度很高,犹记大三期间,有次老师在群里招人去和他暑假一起开发Android App,可惜当时我心有余而力不足(沉迷游戏导致学习成绩不行),这就成了我一大遗憾。之后一系列机缘巧合走上了Java程序员之路,依稀记得有人说过Android也是以Java为基础的。实习以及毕业以后,接触的都是web方面的知识。直至这次boss让...

2018-11-09 17:27:39 133

转载 多线程之死锁

本文参考:http://ifeve.com/java-concurrency-thread-directory/一、什么是死锁死锁是两个或多个线程阻塞着等待其他处于死锁状态的线程所持有的锁。死锁通常发生在多个线程同时但以不同的顺序请求同一组锁的时候。数据库的死锁更加复杂的死锁场景发生在数据库事务中。一个数据库事务可能由多条SQL更新请求组成。当在一个事务中更新一条记录,这条记录...

2018-11-05 10:20:32 297

转载 线程通信

一、为什么要线程通信? 1. 多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,   并且我们希望他们有规律的执行, 那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数据。2.当然如果我们没有使用线程通信来使用多线程共同操作同一份数据的话,虽然可以实现,  但是在很大程度会造成多线程之间对同一共享变量的争夺,那样的话势...

2018-11-02 10:51:12 146

原创 线程及其同步块的创建

一、线程有两种创建方式:第一、继续Thread父类,重写run()方法。public class MyThread extends Thread{ public void run(){ //执行一些方法 }}MyThread.start();第二、实现Runnable类,覆盖run()方法,然后传入Thread对象中。public class...

2018-11-02 10:17:21 197

转载 什么是并发

本文参考自------------------------------&gt;&gt;&gt;:并发编程网 一、为什么要学习并发:  充分利用CPU资源,帮助我们编写出高性能的程序。  ps:如果视而不见(并发问题),终将遭其反噬。二、并发的特点:速度(更快的执行):          通常,并发都是提高运行在单处理器上的程序性能;(事实上,如果没有阻塞。那么在单处理器上的使...

2018-10-30 11:46:28 34728

转载 初识Gradle

一、什么是Gradle 简单的说,Gradle是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。我们可以为Gradle指定构建规则,然后它就会根据我们的“命令”自动为我们构建app。Android Studio中默认就使用Gradle来完成应用的构建。有些同学可能会有疑问:”我用AS不记得给Gradle指定过什么构建规则呀,最后不还是能搞出来个apk。“ 实际上,ap...

2018-10-25 16:32:08 141

转载 Linux firewall-cmd 命令详解

firewall-cmdLinux上新用的防火墙软件,跟iptables差不多的工具。补充说明firewall-cmd 是 firewalld的字符界面管理工具,firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念。firewalld跟iptables比起来至少有两大好处:firewalld可以动态...

2018-10-15 14:42:32 10598 2

原创 Linux(十)shell脚本

 http://wiki.jikexueyuan.com/project/shell-tutorial/            极客学院shell教程一、shell定义:Shell本身是一个用 C 语言编写的程序,它是用户使用 Unix/Linux 的桥梁,用户的大部分工作都是通过 Shell 完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户...

2018-10-10 18:20:56 183

空空如也

空空如也

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

TA关注的人

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