自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (2)
  • 收藏
  • 关注

原创 java8 Stream的使用技巧

java8 Stream的使用技巧

2023-04-24 17:25:12 138

原创 Java get/post的https请求忽略ssl证书认证(POST form-data数据请求) PKIx path building failed报错,

javahttps请求因为没有ssl报PKIx path building failed: sun.security.provider.certpathSndertPathbvilderException: unable to find valid certification

2022-11-12 20:44:59 1318

原创 Mysql存储过程移植Dm(达梦数据库)/Oracle对照表

Mysql Oracle(DM) 说明 row_count() sql%rowcount 统计改变行数(复制可用) SHA1(参数) lower(dbms_crypto.hash(utl_raw.cast_to_raw(参数), dbms_crypto.HASH_SH1)) SHA1加密 last_insert...

2022-05-09 20:42:20 722 2

原创 Oracle和DM数据库加密函数(SHA1,SHA2,MD5,MD4)

mysql的存储结构迁移到达梦或者Oracle

2022-04-24 17:06:01 2375 5

原创 一个快秃了的程序猿和国产化数据库的斗智斗勇:SpringBoot+JPA mysql国产化移植到达梦数据库

Springboot+jpa连接达梦数据库,或者Springboot连接达梦数据库

2022-02-21 16:13:04 8269

原创 您还在为您公司的网络限制摸不了鱼在苦恼难过吗?难受的话请您看完:解决公司内网限制 Nginx反向代理访问外网

1.nginx安装(在这里就不赘述了)2.修改nginx.conf(直接复制可用)worker_processes 4;error_log /var/logs/nginx.log info;//日志文件存放路径events { worker_connections 1024;}http { resolver 8.8.8.8; //代理服务器的DNS,linux查看命令为cat /etc/resolv.conf server { listen

2021-07-07 17:20:28 3239

原创 FTP主动模式和被动模式图解

1.主动模式优点:服务端配置简单,利于服务器安全管理,服务器只需要开放21端口缺点:如果客户端开启了防火墙,或客户端处于内网(NAT网关之后), 那么服务器对客户端端口发起的连接可能会失败2.被动模式缺点:服务器配置管理比较复杂,安全性低,服务器需要开放随机高位端口以便客户端可以连接,优点:对客户端网络环境没有要求注:如有问题,欢迎大家批评指正。如有指正,不胜感激...

2021-06-30 17:44:34 296

原创 Java如何优雅的实现word转pdf

代码复制然后导入pdfbox-1.8.16jar就可以用了,jar包的下载路径如下https://www.apache.org/dyn/closer.lua/pdfbox/1.8.16/pdfbox-1.8.16.jarpackage PdfAndWord;import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.util.PDFTextStripper;import java.io.*;/** *..

2021-06-23 16:31:56 352

原创 js实现图片转base64

是不是有人和我一样在业务中遇到图片转base64的问题,在网上找了很多都不行,这个配合上传组件复制可用,直接上代码! changeImageIsBase64(image) { let that = this; let imageFile = image.file; let isJpg = false; // 判断图片类型 if (imageF

2021-04-10 15:00:18 1701

原创 java线程有哪些状态?

新建:新创建一个对象 可运行:线程对象创建后,其他线程(比如main线程)调用该对线打个stat()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu的权限 运行:可运行状态的线程获取到CPU的时间片,执行程序代码 阻塞:阻塞状态是线程因为某种原因放弃的cpu的使用权,也让出了CPU timeslice,暂停停止运行,直至线程进入可运行的(Runable)状态,才有机会再次获得时间片,转到运行状态 阻塞又分为三种 (1. 等待阻塞:运行的线程执行o.wait()方法,JVM会把该线

2021-04-10 14:45:29 58

原创 mysql 常用的引擎?

InnoDb:聚集索引(数据和索引聚集在一颗B+数的叶子节点上)mysql1.5之后默认数据库引擎,提供了对数据库acid的支持并且还提供了行级锁和外键约束,他的设计目标就是处理大数据容量的数据库系统,Mysql在运行的时候,InnoDb会在内存中创建缓冲池,用于缓冲数据和索引。该引擎不支持全文索引,同时启动也比较慢,也不会保存表的行数,所以当查询表的行数的时候,需要扫描全库为什么InnoDb必须有一个主键?为什么推荐使用整形的自增主键因为没有主键的话mysql会在表内找一个能唯一标识行得我列,如果

2021-04-09 09:49:06 57

原创 session 的工作原理?

当用户访问一个服务器,如果服务器启动了session,服务器就要为该用户创建一个session,在创建session的时候,服务器首先检查这个用户发来的请求里是否包含了一个session ID如果包含了一个Session ID那么就证明该用户已经登陆过并为此用户创建过Session,那么服务器就会按照Session ID把这个Session在内存中找出来(如果找不到那么就给他重新创建一个session)如果客户端请求里不包含有Session ID 则为该用户创建一个session并且创建一个与这个Sessi

2021-04-09 09:47:53 62

原创 java创建线程池有哪几种方式?线程池都有哪些状态?

创建java线程池有以下几种方式:1.newSigleThreadExecutor创建一个单线程线程池。这个线程池只有一个线程在工作,也就相当于单线程串行执行所有任务,如果这个唯一线程因为异常结束,那么就会有一个新的线程去代替他。此线程池保证所有任务的执行顺序按照任务的提交顺序执行2.newFixedThreadPool创建固定大小的线程池。每次提交一个任务就是创建一个线程,直到线程达到线程池最大大小。线程池的大小一担达到最大值就会保持不变,如果某个线程因为执行一场而结束,这个线程池补充一个

2021-04-07 14:54:50 497

原创 runnable 和 callable 有什么区别?

Callable和Runable的差别:实现Callable接口的线程都能返回执行结果,而实现Runable都不能返回执行结果Callable接口的call()方法允许抛出异常,而Runable的Run()方法抛出异常只能内部消化不能上抛Callable和Runable相同点:两者都是接口两者都可以编写多线程两者都得调用Thread.start()方法启动注意点:Callable接口支持返回执行结果,此时需要调用FutureTast.get()方法实现,此方法会阻塞主线程直至

2021-04-06 17:23:43 398

原创 java,sleep() 和 wait() 有什么区别?notify()和 notifyAll()有什么区别?

sleep() 和 wait() 有区别:1.Sleep方法让正在执行的线程主动让出cpu(进行其他任务),在sleep时间结束后CPU再让线程回到刚才执行的地方继续执行;(sleep只是让出cpu并没有释放同步资源锁)Wait方法是让当前线程让自己暂时退让出同步资源锁,以便其他正在等待资源的线程获得资源进而运行,只有调用了notify方法,之前调用的wait线程才能解除wait状态,可以去竞争同步资源锁,进而得到执行(notify只是唤醒之前wait的任务并不是给它重新分配任务)2.sleep

2021-04-06 17:19:50 147

原创 Spring 的 Controller 是单例还是多例?怎么保证并发的安全

Spring 的 Controller 是单例还是多例?怎么保证并发的安全?解答:controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的验证:@Controllerpublic class ScopeTestController { private int num = 0; @RequestMapping("/testScope") public void testScope() { System

2021-03-01 10:14:28 173

原创 共享锁、排他锁、互斥锁、悲观锁、乐观锁、行锁、表锁、页面锁、不可重复读、丢失修改、读脏数据

共享锁(S锁): 又称为读锁,可以查看但无法修改和删除的一种数据锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排它锁。获准共享锁的事务只能读数据,不能修改数据。共享锁下其它用户可以并发读取,查询数据。但不能修改,增加,删除数据。资源共享.排它锁(X锁):  又称为写锁、独占锁,若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A互斥锁: 在编程中,引入了对象互.

2021-02-04 16:09:41 68

原创 Java中字符串有长度限制吗?有的话是多少?

问:Java中字符串有长度限制吗?有的话是多少?答:首先字符串的内容是由一个字符数组 char[] 来存储的,由于数组的长度及索引是整数,且String类中返回字符串长度的方法length() 的返回值也是int ,所以通过查看java源码中的类Integer我们可以看到Integer的最大范围是2^31 -1,由于数组是从0开始的,所以数组的最大长度可以使【0~2^31】通过计算是大概4GB。但是通过翻阅java虚拟机手册对class文件格式的定义以及常量池中对String类型的结构体定义我们可以知道

2021-01-07 14:36:50 910

原创 数据库建表、SQL、索引规范

一、建表规约【强制】(1) 存储引擎必须使用InnoDB解读:InnoDB支持事物、行级锁、并发性能更好,CPU及内存缓存页优化使得资源利用率更高。【强制】(2)每张表必须设置一个主键ID,且这个主键ID使用自增主键(在满足需要的情况下尽量短),除非在分库分表环境下。解读:由于InnoDB组织数据的方式决定了需要有一个主键,而且若是这个主键ID是单调递增的可以有效提高插入的性能,避免过多的页分裂、减少表碎片提高空间的使用率。而在分库分表环境下,则需要统一来分配各个表中的主键值,从而避免整个逻辑

2020-12-25 18:16:34 123

原创 shell脚本获取指定目录下指定格式文件数量和名称以及贪婪匹配和非贪婪匹配

shell脚本获取指定目录下指定格式文件数量和名称#!/bin/bash#创建一个集合存放遍历出来的数据zip_list=()controller_tar(){ for file in `ls 指定文件夹的绝对路径` do #贪婪匹配文件后缀名是否为zip或者gz if [ "${file##*.}"x = "zip"x ]||[ "${file##*.}"x = "gz"x ] then #如果符合条件将文件放入集合中 zip_list[${#zip

2020-11-04 11:47:47 1365 1

原创 Java创建的线程到底是用户级线程(ULT)还是内核级线程(KLT)

Java创建的线程到底是用户级线程(ULT)还是内核级线程(KLT)1.线程的理解(1. 线程是调度CPU最小单元,也叫轻量级进程LWP(Light weight process)(2. 分为两种线程模型:用户级线程(ULT),内核级线程(KLT)用户级线程(ULT):用户程序实现,不依赖操作系统核心,应用提供创建、同步、调度和管理线程函数来控制用户线程。不需要用户态/核心态切换,速度快。内核对ULT无感知,线程阻塞则进程(包括它所有的线程)阻塞内核级线程(KLT):系统内核管理线程(KLT),

2020-11-03 14:09:25 5690 8

原创 麒麟系统arm64或aarch64架构下docker打包jdk1.8镜像

1.net.sf.json.JSONException: A JSONObject text must begin with '{'报错处理方案。问题起因:一般情况出现这个错误的原因是头部包含\ufeff ,而非{开头,java在获取到这个json字符串时候发现没有{个认为是格式不对所以抛出了异常。那么问题来了\ufeff 这是哪来的呢?网上搜索后发现原来是文本保存时包含了BOM(Byte Order Mark,字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码

2020-10-26 10:01:13 3509 2

原创 Java初级工程师面试题-容器(集合和数组部分)

Java初级工程师面试题-容器(集合和数组部分)1.java 容器都有哪些? 集合和数组2.Collection 和 Collections 有什么区别?Conllection:是集合接口,它提供了对集合操作的通用方法,实现该接口的类有Set和ListConllections:是集合类的一个包装类,其中包含很多操作集合的静态方法,可以实现集合的搜索,排序,安全等,该类不能被实例化,是集合的工具类3.List、Set、Map 之间的区别是什么?list和set都是单列集合,其中list是有序

2020-07-22 16:51:51 122

原创 Java初级工程师面试题--Java基础部分

Java初级工程师面试题–Java基础部分1. JDK 和 JRE 有什么区别?JDK:java开发工具包,提供了java开发环境和运行的环境JRE:java运行环境,为java提供了所需的运行环境总体来说:JDK包含了jre,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析工具如果你只需要运行java程序,只需要安装JRE就行,如果要编写JAVA程序那就必须有JDK环境2. == 和 equals 的区别是什么?“==”: 1.作用于基本数据类型

2020-07-22 16:37:19 394 3

libreoffice arm架构安装

国产化服务器(麒麟系统)arm架构服务器下安装libreoffice,安装说明和安装rpm包

2022-05-31

麒麟V10安装虚拟机.doc

在麒麟系统(arm64或aarch64)或者普通的linux系统安装虚拟机

2021-08-26

空空如也

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

TA关注的人

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