- 博客(46)
- 收藏
- 关注
原创 MySql的时区(serverTimezone)引发的血案
前言mysql8.x的jdbc升级了,增加了时区(serverTimezone)属性,并且不允许为空。血案现场配置jdbc的URL:jdbc:mysql://[IP]:[PORT]/[DB]?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=tru...
2020-03-07 19:10:00
4868
原创 springBoot2.x启动项目报java.sql.SQLNonTransientConnectionException
将项目从springBoot1.x升级到springBoot2.x,启动报错:1 java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: com.mysql.cj.exceptions.WrongArgumentExceptio...
2020-02-27 18:36:00
429
原创 idea生成构造方法的快捷键(看这篇就够了)
使用快捷键能加快编写代码的速度和质量idea生成构造方法的快捷键是Alt+Insert,然后选中Constructor
2020-02-25 20:46:00
20898
原创 MYSQLl给用户授予数据库表权限
给targetUserName用户授予databaseName单个数据库权限grant all privileges on databaseName.* to targetUserName@"%" identified by 'targetPassword';grant select,delete,update,insert on databaseName.* to targetUse...
2020-02-24 19:11:00
675
原创 SpringBoot2.x打包成war(看这篇就够了)
springboot默认打包成jar,如果想打包成war,则需要做以下三步。1.修改pom.xml文件 a.将jar改成war1 <groupId>com.test</groupId>2 <artifactId>01-springboot-HelloWorld</artifactId>3 <version>0.0....
2020-02-18 20:08:00
501
原创 linux下tar命令解压到指定的目录
linux下tar命令解压到指定的目录 :#tar zxvf xx.tar.gz -C /xx//把根目录下的xx.tar.gz解压到/xx/下,前提要保证存在/xx这个目录 这个和cp命令有点不同,cp命令如果不存在这个目录就会自动创建这个目录!...
2020-02-15 21:40:00
1853
原创 MySQL的JDBC驱动(8.0版本)
1.引用外部库 mysql-connector-java-8.0.版本的jar2.jdbc驱动类:com.mysql.jdbc.Driver 改成com.mysql.cj.jdbc.Driver3.jdbcUrl:jdbc:mysql://{ip}:{port}/{db}?characterEncoding=utf8&useSSL=false&serverTim...
2020-02-15 14:31:00
771
原创 使用TortoiseGit(乌龟)上传本地项目至码云
最近要上传公司的代码到码云上,看了好几篇博客,含糊不清的居多,无奈只能自己尝试一下,下面分享一下自己的操作步骤:准备工作:首先需要安装好TortoiseGit,并且在码云上有自己的账号第一步:生成公钥在所有程序中找到“PuTTYgen”,或者在乌龟的安装目录下去找,我们需要用它生成公钥找到之后打开:1.点击“Generate”,会出现进度条,鼠标在空白区域移动越快,进度条进度越...
2020-02-14 19:49:00
382
原创 springboot整合Druid数据源
1.引入druid依赖代码如下:1 <!--druid 依赖 -->2 <dependency>3 <groupId>com.alibaba</groupId>4 <artifactId>druid</artifactId>5 <version>1.0.18&...
2020-02-14 17:36:00
94
原创 tomcat8配置了tomcat-users.xml,报403 Access Denied
配置了tomcat-users.xml之后,重启tomcat服务,仍然访问拒绝。原因:tomcat8.5 更改之后,仍然访问拒绝。还需步骤如下:vi /usr/local/tomcat/apache-tomcat-8.5.9/webapps/manager/META-INF/context.xml改成允许访问的ip地址或者注释掉即可。...
2020-02-10 11:56:00
283
原创 tomcat管理模块报401 Unauthorized
进入tomcat,点击管理模块(Manager App)或者查看服务器状态(Server Status),提示401 Unauthorized提示如下页面原因是tomat默认没有配置角色和用户,按照提示页面进行配置即可打开tomcat安装目录,进入到conf\tomact_user.xml<tomcat-users> <role role...
2020-02-10 11:34:00
679
原创 MySQL报Too many connections
错误信息 1 Exception in thread "main" java.sql.SQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections" 2 at com.mysql...
2020-02-09 18:59:00
213
原创 JDBC连接MySql例子
1.注册MySql连接驱动2.设置连接MySql连接字符串、用户名和密码3、获取数据库连接代码如下:// 加载驱动Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://{ip}:{port}/db?serverTimezone=GMT%2B8"; // 连接mysql的urlString us...
2020-02-09 18:40:00
78
原创 linux安装jdk并设置环境变量(看这一篇文章即可)
1.查看linux位数 查看linux是32位还是64位,影响需要下载JDK的版本系统位数jdk位数x86(32位)32位x86_64(64位)32位64位在linux命令输入:uname -a如果是64位机器,会输出x86_642.下载JDK下载地址:https://www.oracle.com/tech...
2020-02-08 22:43:00
153
原创 深度解析Java可变参数类型以及与数组的区别
注意:可变参数类型是在jdk1.5版本的新特性,数组类型是jdk1.0就有了。这篇文章主要介绍了Java方法的可变参数类型,通过实例对Java中的可变参数类型进行了较为深入的分析,需要的朋友可以参考下。Java方法中的可变参数类型是一个非常重要的概念,有着非常广泛的应用。本文就以实例形式对此加以分析。具体如下:一般来说,许多Java初学者在看到下面的这段代码的时候,都会问一个问...
2020-02-07 20:37:00
108
原创 MySQL真正的UTF-8字符集utf8mb4
MySQL有个utf-8的坑MySQL 的 utf8 实际上不是真正的 UTF-8。utf8 只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。MySQL 一直没有修复这个 bug,他们在 2010 年发布了一个叫作 utf8mb4 的字符集,绕过了这个问题。当然,他们并没有对新的字符集广而告之(可能是因为这个 bug 让他们觉得很尴尬),以致于现在网络上仍然...
2020-02-07 18:33:00
140
原创 JDK安装与环境变量配置
1、查看电脑环境桌面,选择“我的电脑”,右键属性在系统界面中的系统类型,显示系统的位数:32位或者64位其中32位只能安装32位的jdk,64位可以安装32位和64位的jdk2、安装JDK双击运行jdk安装jre3、配置环境变量我的电脑--右键--属性--高级系统设置--高级--环境变量4、验证安装版本c...
2020-02-05 18:26:00
157
原创 idea设置护眼色(看这一遍即可)
前言 攻城狮一天对着电脑写代码,特别伤眼睛,而绿色对眼睛是比较友好的步骤 1、打开idea,路径:File->Settings->Editor->Color Scheme->General 2、打开Text下的Default text,点击背景色 3、设置值为:199 237 204或者直接设置为C7EDCC...
2020-01-11 20:17:00
3272
2
原创 idea 删除当前一行的快捷键(看这一篇文章即可)
使用eclipse,有时候出现多个空行时,习惯使用快捷键:Ctrl + D,删除当前一行。最近使用idea开发,发现手动删除空行,很麻烦,特意查了一下,发现是快捷键:Ctrl + Y。如下图所示:使用Ctrl + Y后删除当前行另外:可以使用设置,讲idea的快捷键设置为eclipse模式...
2020-01-09 13:37:00
48220
原创 一篇文章讲清楚父类子类的加载顺序
使用两个类,一个父类,一个子类父类代码: 1 public class Parent { 2 public static int i = 10; 3 private int j = 15; 4 5 static { 6 System.out.println("parent 静态代码块,无静态变量"); 7 ...
2019-12-26 21:47:00
181
原创 springboot:bootstrap和application有什么区别?
bootstrap和application区别:Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap,另外一种是 application,application 配置文件这个容易理解,主要用于 Spring Boot 项目的自动化配置。bootstrap 是应用程序的父上下文,也就是说 bo...
2019-12-19 12:10:00
338
原创 hashCode和identifyHashCode的区别
API:System类提供一个identifyHashCode(Object o)的方法,该方法返回指定对象的精确hashCode值,也是根据该对象的地址计算得到的HashCode值。当某个类的hashCode()方法被重写之后,该类实例的hashCode()的方法就不能唯一标识该对象。但是通过identifyHashCode()方法返回的依然是hashCode()值...
2019-12-19 10:04:00
119
原创 oracle的jdbc的版本与jdk对应关系
连接类型:1、JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC 驱动。因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以dll方式提供的oci和服务器配置。2、JDBC Thin: thin...
2019-09-24 22:30:00
813
原创 jdbc连接oracle的三种方法
jdbc连接oracle的三种方法使用service_name,配置方式:jdbc:oracle:thin:@//<host>:<port>/<service_name>使用SID,配置方式:jdbc:oracle:thin:@<host>:<port>/<SID>使用SID,配置方式:jdbc:o...
2019-09-16 22:36:00
445
原创 ORACLE中SID和SERVICE_NAME的区别
定义 实例(SID)是操作系统中访问数据库所需要的一系列的进程和内存的集合。即使没有任何数据文件,实 例也可以启动。但是要想访问数据库,必须把数据库文件加载进实例中。实例和数据库的区别可以简单概括为:实例是临时的,它只在相关的进程和内存集合存在时 存在,而数据库是永久的,只要文件存在它就存在。一个实例只能对应一个数据库,但是一个数据库可以由多个实例对应(如RAC)。RAC就是多个实...
2019-09-16 22:27:00
264
原创 解决计算精度问题:BigDecimal
BigDecimal类 BigDecimal所在包:java.math,不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。 对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大...
2019-09-08 16:05:00
125
原创 Java中的关键字 transient
定义java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。作用 Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一...
2019-09-04 22:36:00
87
原创 Eclipse控制台不限日志行数
在使用Eclipse时,如果控制台输出的内容比较多,控制台之前的内容就会消失,导致前面的控制台打印信息无法查看。设置Eclipse的控制台属性设置方法:打开Eclipse的菜单栏:Window --> Preferences --> Run/Debug --> Console,去掉“Limit console output”的复选框,如下图所示...
2019-09-04 07:11:00
76
原创 分布式自增ID算法snowflake
分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的,作为索引非常不好,严重影响性能。snowflake的结构如下(每部分用-分开):0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - ...
2019-09-02 20:45:00
59
原创 将oracle关键字作为字段名
对于关键字比如:Level、uid、group等如果在数据库设计的时候,没有考虑oracle数据库的特殊性时,可能会使用关键字作为字段名,从而在建表的过程中,提示错误:ORA-00904: invalid IDENTIFIER。解决方法:1、设计数据库时,尽量不要使用数据库的关键字作为字段名2、使用双引号("")标记...
2019-09-01 22:42:00
1040
原创 ora00972标识符过长
oracle10G对于表名的长度限制是30个字节表名超过30结果不能创建,提示ora00972-标识符过长。需要将表名控制在30个字节以内
2019-09-01 22:36:00
825
原创 oracle 将当前系统时间戳插入timestamp字段
sysdate为当前机器时间对于insert或者update语句,需要将当前时间赋值到字段中,可以使用如下函数:to_timestamp(to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS')...
2019-09-01 22:33:00
1569
原创 java中不常见的关键字:strictfp
1.strictfp, 即 strict float point (精确浮点)。 strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值...
2019-09-01 11:51:00
245
原创 java线程
进程和线程进程的诞生 操作系统中有2个任务A,B,任务A先执行,执行到一半需要io,因此要大量时间,在这个时间段内cpu是空闲的,浪费了资源,于是就有进程,当A暂时无法利用cpu,但是又不能销毁时,就把它暂存起来,让B来执行。B执行完或者需要A执行时,根据暂存的信息回复过来。 每个进程都对应一定的内存空间,并且只能使用自己的内存空间,并且保留程序的运行状态,这个也为进程切换提供了基础。...
2019-08-02 22:15:00
55
原创 JAVA支持字符编码读取文件
文件操作,在java中很常用,对于存在特定编码的文件,则需要根据字符编码进行读取,要不容易出现乱码 1 /** 2 * 读取文件 3 * @param filePath 文件路径 4 */ 5 public static void readFile(String filePath) { 6 FileI...
2019-07-27 07:43:00
77
原创 UTF—8与UTF—8(无bom)格式
BOM——Byte Order Mark,就是字节序标记在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endia...
2019-07-26 23:37:01
6725
原创 博客园写随笔无法插入图像
原因:博客园(cnblos)编写新随笔无法插入图像,可能与浏览器有关 在旧版的火狐浏览器点击添加随笔,发现使用CuteEditor编辑器上传图像后,无法正常显示。如下图所示: 按网上的更好编辑器,设置为TinyMCE编辑器。 设置步骤如下:设置默认编辑器 设置完成后,点击SAVE按钮。再点击“添加新随笔”,发现TinyMCE编辑器没有正常显示...
2019-07-26 23:18:00
193
原创 UTF—8与UTF—8(无bom)格式
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-E...
2019-07-26 22:24:00
199
原创 进程和线程的主要区别
进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。...
2019-07-26 07:44:00
53
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人