自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Centos 部署Oracle 11g

在SpringMVC模式下开发web项目,必然会使用到关系型数据库来存储数据,目前使用比较多的关系型数据库有Oracle,Mysql,PostgreSQL,SQlServer等,使用的远程服务器系统一般都是centos,接下来就说一下如果在centos服务器上安装部署Oracle数据库。成功运行后,在/data/oracle/product/11.2.0/db_1/network/admin/中生成listener.ora和sqlnet.ora。3、切换至文件解压目录、执行安装,用户还是oracle。

2023-03-04 18:16:58 714

原创 word文件doc、docx转pdf

word转pdf

2022-06-07 13:30:20 1201 1

原创 yarn : 无法加载文件 D:\nodejs\node_global\yarn.ps1,因为在此系统上禁止运行脚本。

创建vue项目,输入命令yarn install报错如下:主要原因是powershell的执行策略阻止了此次操作,解决方案如下:获取当前执行策略:restricted:表示执行受限。解决方案:完成之后,就可以输入yarn install, 效果如下:...

2022-02-24 09:53:43 9213 5

原创 vscode安装go插件以及语言开发包

vscode安装go插件及语言安装包过程,没有go环境和vscode的可以先安装go和vscode,接下来步骤主要通过vscode插件的方式安装go的插件以及语言开发包vscode安装go插件启动vscode选择插件->搜go选择Go for Visual Studio Code插件点击安装即可。如图:vscode安装go语言开发包在Go语言开发的时候为我们提供诸如代码提示、代码自动补全等功能。Windows平台按下Ctrl+Shift+P,Mac平台按Command+Shift+P,这个

2021-12-14 14:13:17 3788

原创 oracle dump文件

导入dmp文件在服务器控制台输入命令(切换至能操作数据权限的用户):imp 用户名/密码 file=文件 full=y ignore=y;例如: 用户名是root,密码是root,文件名是 001.dmp则命令如下:[oracle@hs-192-168-0-9~]$ imp root/root file=001.dmp full=y ignore=y导出dmp文件在服务器控制台输入命令(切换至能操作数据权限的用户):exp 用户名/密码@数据库服务名 file=文件 tables=表名(多表

2021-03-16 14:44:50 645

原创 spring-boot-actuator 微服务监控

随着业务越来越复杂,从原来的单体架构向微服务架构跃进,微服务稍微一多,可控的因素就会变少,当出现问题的时候查起来的时候就比较麻烦,所以微服务监控就变得很有必要。一旦微服务出点差错,就会影响业务的进行,轻者流失部分利润,重则这个系统瘫痪,无法正常使用。因此,微服务的各项指标正常就至关重要。像微服务的正常运行访问、使用内存情况、占用CPU多少,组件控件的使用情况等,监控各项指标,微服务现在主流还是Springboot,可以结合spring-boot-actuator框架来完成监控任务,spring-boot-

2021-02-03 19:56:34 572 1

原创 easyexcel 动态合并单元格

easyexcel 动态合并单元格目前操作excel文档的底层都是用poi来进行的,在早期工作开发过程中,是基于poi,然后对每一个数据单元格进行操作代码编写,后面有一些比较好的开源项目,像easyexcel、easypoi、hutool等,由于身处电商之都,就选择了阿里开源的easyexcel来做二次开发,源码相对来说并没有那么枯燥,有兴趣可以细细研读一番,对抽象能力,编码规范等一些重要的编程功底都有所帮助的。单元格的动态合并在实际项目开发过程中,不可避免地会有生成excel文档的需求,同时也不可避

2020-12-01 14:54:08 19974 17

原创 Artifactory Jfrog与Nexus

区别功能jfrognexus语言&工具支持Maven、Docker、Bower(html&js)、Chef、Puppet、CocoaPods(IOS)、Conan(C/C++)、Debian、Ruby Gems、Git LFS、Gradle、Ivy、Npm、Nuget、Opkg、Php composer、Pypi、SBT、Vagrant(box)、Rpm、Generic(通用)Bower、Java、Npm、Docker、Nuget、Pypi多 Docker

2020-11-05 19:07:41 3648 1

原创 Mysql 多表关联修改与删除

Mysql 多表关联update与delete数据库表设计过程中,会把关键的字段(一列或多列),提取出来,建立多个维度的信息表,供业务功能使用。假如我们在需要在A维度表中的满足非关键字段部分条件字段的记录,需要在B维度表中修改列值,我们就会使用到多表关联update。使用方式:多表关联updateupdate tableA A -- 直接left join 关联表 还有表的话,就在 tableB后面 继续left join TableC Cleft join tableB B-- 多表的关联

2020-10-23 17:06:55 3007

原创 普通类、内部类、静态内部类区别与使用场景

内部类(inner class)与静态内部类(inner static class)区别与使用场景前言在java开发过程中,不管是在阅读JDK源码,还是开源项目的一些源码,多多少少都会看到内部类的一些使用。直观上的感觉就是在这么项目类文件分布情况来看,没有那么多的文件,因为内部类都放置在外部类中了,当然这些类都是可以被提取出来作为单独的类使用的。内部类与普通类的区别在使用设计上内部类:内部类是依托于外部类的,可以不用通过继承这种方式使用到外部类的属性信息;在对象新建的时候需要通过外部类勾勒出来

2020-10-21 10:30:58 2779 1

原创 springboot 日志管理logback切换log4j2

springboot 日志管理logback切换log4j2前言早期项目中,使用log4j比较多,不过在微服务相较比较流行的前提下,大家都在使用springboot,springboot默认的日志管理是logback,所以没有特别的要求,springboot项目用的都是logback日志管理,由于性能原因,很多人想用log4j2替换logback,觉得logback的性能没有log4j2好,这个是有实验数据证明的,日志框架的对比图如下:从以上数据得到 log4j2 的性能明显是最好的,追求性能的项目

2020-10-16 15:06:32 2169 3

原创 BigDecimal 精度问题

BigDecimal 精度问题在使用BigDecimal过程中,暂时遇到两个问题,都是精度问题,一个是精度丢失,一个是精度显示问题。精度丢失BigDecimal创建对象有很多种方式:通过double类型去声明bigdecimal对象时,就发生精度不准的问题这个就不建议使用了,可以换种方式去解决这个问题,用string构造器构建对象:设置好对象的精度大小也可以解决这个问题:精度过长显示科学计数法这种显示科学计数法的问题,主要产生原因有两个:1、小数点位数大于6;2、只有最后一个小

2020-10-13 17:07:10 3696 6

原创 Mybatis的org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

Mybatis的org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)Mybatis出现这个错误的情况很多。在调用Mapper接口方法时,出现方法对应的statement绑定不可用的问题。第一种方式在编译启动后查找对应build下是否存在对应xml信息如果没有就看一下,构建的过程中是不是哪里出现问题,maven是可以将resource里的配置文件同时打包进build中的<build&gt

2020-10-02 15:57:51 173

原创 Mybatis 多数据库兼容 jdbcType

Mybatis 多数据库兼容 jdbcType在一些企业中难免在数据存储过程会使用到Oracle、DB2等收费维护的数据库,有时候会根据业务需要或技术栈改造的过程中会使用到更换数据库存储,这种多表现于系统改造,软件升级,客户要求等情况。Myatis映射文件改造之路在初始化数据库表与Mybatis的映射文件建立对应关系,我们一般都是通过Mybatis generator逆向工程去生成映射代码,生成的格式可以自定义,有很多种,但Mapper方法是根据生成者的意愿自我选择的,同一个表Mapper方法不管是以

2020-09-29 19:54:57 666

原创 关系型数据库 - Mysql

21世纪互联网最重要的的是什么,当然是数据了,不然大数据个行业就没有意义了,数据保存就成为了一个比较重要的过程,目前市面上存储数据的都是用数据库,数据库又分关系型和非关系型,这里就不多阐述了,现在就说说关系型数据库MySQL。Mysql由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的[关系型数据库之一,在 WEB 应用方面,MySQL是最好的 [RDBMS]应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大

2020-09-24 09:39:40 775

原创 IDEA 报错类不存在

在使用IDEA开发的过程中,出现一个这样的问题:项目在编译后启动没有问题,但是IDEA编辑器该类的引用上报错,编译报错综上问题是IDEA自身项目缓存问题解决方案:打开编辑器,点击工具栏中的 File -》Invalidate Caches/Restart -》弹框中默认选择后IDEA的缓存就会清除,重新加载项目。...

2020-09-21 13:17:31 1317

原创 微服务注册中心

微服务注册中心在分布式架构中,注册中心扮演着很重要的角色之一,注册中心的作用是服务发现与服务注册,注册中心往大了讲就是所有可注册的服务都可以往注册中心注册,注册在注册中心的服务都可以通过查询API查询到服务注册信息。如果说在注册中心注册的微服务宕机或者服务异常,无法向注册中心发送心跳通信了,注册中心会将该服务剔除。分布式应用的优点可靠性 - 单个或几个系统的故障不会使整个系统出现故障。可扩展性 - 可以在需要时增加性能,通过添加更多机器,在应用程序配置中进行微小的更改,而不会有停机时间。透明性

2020-09-03 13:23:33 508

原创 Java8 操作时间API实践与说明

Java8 时间操作java8的操作时间与以往的不同,以往用的比较多的是,时间戳通过System去获取,获取日期时间通过Date、Calendar类来操作,获取日期时间格式输出则通过SimpleDateFormat来转化,Java8后,以上的仍然可以使用,不过新出了操作时间的API。(经查阅资料,SimpleDateFormat是线程不安全的,这跟使用方式有关,有兴趣可以了解下)。Java8 的各个日期时间类型LocalDate:不包含时间的日期,例如:2020-08-24,单纯的表示日期Loca

2020-08-24 13:27:50 282

原创 nginx docker容器部署与配置文件详解

nginx docker容器部署与配置文件详解docker容器能在自己的pc机上随便玩,想怎么玩就怎么玩,如果条件允许的情况下,可以搞台服务器玩玩,我就以自己的PC机为例,分两个过程,一个能是安装nginx docker容器并运行, 另一个是解释一下nginx配置文件的配置详细描述。nginx docker部署1、搜索nginx镜像docker search nginx2、拉取nginx镜像docker pull nginx镜像不是特别大,才133M,拉取很快;比较喜欢用docker

2020-08-19 19:38:44 1849

原创 Win10 docker部署 oracle12

Win10 docker部署 oracle12前言oracle的win10安装时比较费劲的,在安装的过程中,只要某一个环节出错,都有可能导致你整个服务不可用,然后系统中的oracle就相当于一个摆设了,卸载起来比较麻烦,除了单纯地通过控制面板 - 卸载程序,是卸载不干净的,还要手动去删除注册表,不小心将注册表误删/错删,其他应用就不可用了,严重的,系统可能会出现一点问题,所以,我觉得用容器化去部署oracle12,非常重要,当然这是自娱自乐的。本地测试使用比较好。容器环境目前比较流行的容器技术就是d

2020-08-11 16:15:07 860 3

原创 Mybatis generator 逆向工程

ORM框架 Mybatis 逆向工程web项目在国内目前使用最多的对象关系映射(Object Relational Mapping, 简称ORM)是Mybatis,MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射;Mybatis操作数据库数据常用的的就是Mapper接口,Model表映射对象,Mapper.xml文件,当然也可以不需要xml文件,看个人习惯,mybatis的这三个结构就可以很好地操作数据库数据了。当然这些文件可以自己手写,但是mybatis提供了逆向

2020-07-30 14:39:33 446

原创 HTTP

HTTPHttp协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW)服务器传输超文本到本地浏览器的传输协议。Http是一个应用层协议,是基于TCP/IP通信协议来传递数据(HTML 文件,图片文件,查询结果等)组成部分HTTP请求整个过程包含通用信息,请求头,请求体,响应头,响应体。请求体的格式类型由请求头控制,响应体的信息由响应头控制。请求信息:通用信息通用信息有:名称解释Request URL请求服务器

2020-07-29 10:28:33 203

原创 MySQL jdbc-url链接参数详情

Mysql jdbc-url链接配置详情在需要通过mysql存储数据并且通过JDBC方式去操作数据的项目中,都需要配置jdbc-url链接地址,该地址并不是简单的一个链接,还有一些有特定含义的参数描述。例如:jdbc:mysql://[ip]:[port]/[dbname]?user=root&password=123456&useUnicode=true&charaterEncoding=UTF-8&autoReconnect=false&autoReconn

2020-07-28 14:12:57 1610

原创 Redis在项目中的使用

Spring项目中使用RedisRedis目前已经非常流行,由于Redis是基于内存存储不同的数据结构的存储系统,可以用作数据库,缓存和消息中间件。用的比较多的还是作为缓存存储系统。并且可以通过集群模式来提高可用性,集群方式有主从,哨兵,自动分区。目前web服务端使用主体框架还是Spring,当然Spring提供了链接操作redis的方式就是Spring Data Redis。通过工具去操作任何其他的中间件或者存储系统都是三个步骤,大部分开源框架都是如此做的,以redis为例:1、与redis服务端

2020-07-23 15:59:15 2701

原创 线程池

Java 线程池线程的创建是需要在JVM中开辟虚拟机栈、本地方法栈、程序计数器等线程私有的内存空间,在销毁时则需要回收这些资源,频繁地创建和销毁线程会浪费大量的系统资源,增加并发风险。线程池来管理线程的开销能很好地预防风险,同时可以更加充分合理地协调利用CPU、内存、网络、I/O等系统资源。线程池 ThreadPoolExecutor全参数构造器如下: public ThreadPoolExecutor(int corePoolSize,

2020-07-21 14:48:13 159

原创 Java - synchronized

Java synchronized锁描述Java语言的关键字,可用来给对象、方法或者代码块修饰加锁,能够保证在同一时刻最多只有一个线程执行该段代码。表现形式1、修饰普通同步方法,上锁的的当前实例对象;2、修饰静态同步方法,上锁的是当前类的class对象;3、修饰同步方法块,上锁的是synchronized括号中配置的对象;public class Demo{ private Integer sum; //修饰普通同步方法 public synchronized vo

2020-06-29 17:40:36 203

原创 Spring-Web RestTemplate

Spring RestTemplate简介web服务端开发,如果涉及与第三方通过HTTP交互的需求,就可以使用Spring框架提供了RestTemplate进行阻塞式IO;封装各种请求方式进行远程HTTP访问。完全能满足目前的各种请求方式了。RestTemplateUML类图展示以上展示有一个接口RestOperations,两个抽象类,HttpAccessor,InterceptingHttpAccessor;RestOperationsRestOperations是一个接口,定义了一些基

2020-06-23 18:04:21 274

原创 分布式事务 -三种方案

分布式事务前言随着互联网的发展,分布式微服务越来越流行,使用分布式微服务,首要面临的问题就是:多服务对应多数据源。以往使用同一个数据源来管理存储数据,本地事务就可以很好地解决数据一致性的问题,但是使用分布式事务的话,就是两个系统,两个不同的数据源,无法用现有的Spring事务框架去控制不同系统的事务整体成功或整体失败。RocketMQRocketMQ事务中存在两个概念,一个是半消息(Half Message),一个是MQ 会查。Half Message :向MQ发送一个半消息,该消息只被MQ存储,

2020-06-10 10:57:32 364

原创 RocketMQ - Topic、message

RocketMQ - Topic、messageTopic表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。存储方式每个Broker可以存储多个Topic消息,每个Topic的消息同时也可以分片存储在不同的Broker上,每个Topic中的消息地址存储于多个Message Queue中。架构信息Topic利用queue记录消息所在broker的存储的消息信息,相互之间的关系就是,Topic关联MessageQueue(queue-a

2020-06-04 17:30:34 2015

原创 RocketMQ - nameSrv和Broker

RocketMQRocketMQ是一个统一的消息传递引擎,轻量级的数据处理平台。Name ServerName Server充当路由消息的提供者,生产者(Producer)或消费者(Customer)可以通过Name Server查找各主题对应的Broker IP列表,多个Name Server实例组成集群,但相互独立,没有信息交换。支持Broker的动态注册与发现。主要包括两个功能:Broker管理:Name Server接收Broker集群的注册信息并且保存下来作为路由信息的基本数据,然后提供心

2020-06-01 17:15:12 2542

原创 Springboot项目整合MyBatis配置多数据源

Springboot项目整合MyBatis配置多数据源 在项目开发过程中,总会遇到在一个项目中需要访问不同的数据源来完成数据的转移或者数据的分开处理,这个时候我们就需要用到在一个项目中配置多个数据源;目前大多数企业开发过程中都会用到ORM框架直接处理数据,不会使用原生的JDBC操作来处理了,所以接下来要说的是MyBatis所对应的多数据源配置的详细操作。...

2019-11-18 15:51:54 179

空空如也

空空如也

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

TA关注的人

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