自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 资源 (1)
  • 收藏
  • 关注

原创 springboot整合opencv进行灰度图像与RGB图像互转

在开发过程中遇到一个问题,需要在图片上加上数据(原卷留痕),由于图片是灰度的,无法进行彩色编辑,需要将灰度图片转成RGB图片,才能进行彩色编辑,于是想到用opencv进行处理。最后采用的方式是把读取的库文件,存放到系统的一个临时文件夹下,然后拿到库文件的绝对路径,这样就可以通过 system.load 直接去加载。下载的文件解压,使用相对路径加载dll文件,在test环境中测试成功了,后来启动springboot服务后,却报错了。,已经集成了各个平台的本地库,以及加载本地库的封装类,自己只需要加载就行。

2023-01-11 11:26:20 1452

原创 AQS原理

1、什么是AQS全称是 AbstractQueuedSynchronizer,抽象队列同步器,是阻塞式锁和相关的同步器工具的框架。2、AQS的作用通过继承AbstractQueuedSynchronizer,我们可以实现自定义同步器。有了自定义同步器,就可以实现自定义锁。ReentrantLock、ReentrantReadWriteLock内部都各自维护了一个同步器,从而实现不同的锁功能。3、AQS的实现原理用 state 属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何

2021-09-06 22:01:36 453

原创 synchronized原理

1、synchronized的作用为了避免临界区的竞态条件发生,有多种手段可以达到目的。阻塞式的解决方案:synchronized,Lock 非阻塞式的解决方案:原子变量synchronized,即俗称的【对象锁】,它采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其它线程再想获取这个【对象锁】时就会阻塞住。这样就能保证拥有锁的线程可以安全的执行临界区内的代码,不用担心线程上下文切换。synchronized的三个作用原子性:确保线程互斥的访问同步代码 可见性:保证共享变量

2021-08-18 23:16:44 10142 8

原创 Java线程状态转换

1、操作系统的5种线程状态【初始状态】仅是在语言层面创建了线程对象,还未与操作系统线程关联【可运行状态】(就绪状态)指该线程已经被创建(与操作系统线程关联),可以由 CPU 调度执行【运行状态】指获取了 CPU 时间片运行中的状态 当 CPU 时间片用完,会从【运行状态】转换至【可运行状态】,会导致线程的上下文切换【阻塞状态】如果调用了阻塞 API,如 BIO 读写文件,这时该线程实际不会用到 CPU,会导致线程上下文切换,进入【阻塞状态】 等 BIO 操作...

2021-08-10 22:15:36 412

原创 Java多线程API

目录1、创建并运行线程1.1 直接使用Thread1.2 使用Runnable配合Thread(把线程和任务进行解耦)1.3 FutureTask配合Thread(FutureTask 能够接收 Callable 类型的参数,用来处理有返回结果的情况)2、查看进程和线程的相关命令2.1 Linux命令2.2 Java命令及工具3、线程运行的原理3.1 栈与栈帧3.2 线程上下文切换(Thread Context Switch)4、Java多线程API5、sta

2021-08-08 22:18:47 639

原创 多线程概述

1、进程与线程进程:就是用来加载指令,管理内存,管理IO的,进程可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(比如IE浏览器可以打开多个),也有的程序只能启动一个实例进程(比如百度网盘)。当一个程序被运行,从磁盘加载这个程序的代码到内存中,这时就开启了一个进程。线程:一个进程之内可以分为一到多个线程。一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给 CPU 执行。Java 中,线程作为最小调度单位,进程作为资源分配的最小单位。二者区别:进程基本上相互独

2021-08-08 15:30:26 124

原创 JVM调优实战

https://blog.csdn.net/qq_34942272/article/details/108175181

2021-07-21 22:34:38 2345

原创 JVM调优常用命令及工具

目录1、jstat命令1.1、查看class加载统计1.2、查看编译统计1.3、垃圾回收统计2、jmap命令2.1、查看内存使用情况 jmap -heap 2629682.2、查看内存中对象数量及大小2.3、将内存使用情况dump到文件中2.4、通过jhat对dump文件进行分析2.5、通过MAT工具对dump文件进行分析3、jstack命令4、jdk自带jvisualvm工具1、jstat命令jstat命令可以查看堆内存各部分的使用量,以及加载类的数

2021-07-16 15:52:26 1082

转载 JVM运行参数

1、三种参数类型标准参数 -help -version -X参数 (非标准参数) -Xint -Xcomp -XX参数(使用率较高) -XX:newSize -XX:+UseSerialGC2、标准参数jvm的标准参数,一般都是很稳定的,在未来的JVM版本中不会改变,可以使用java -help 检索出所有的标准参数。E:\IDEA\WorkSpace\poi>java -help用法: ...

2021-07-15 10:16:31 365

原创 类加载机制

1、概念2、类加载步骤3、类加载器4、双亲委派5、类的卸载6、类中成员加载顺序

2021-07-11 22:04:27 4849

原创 JVM之垃圾回收

1、什么是垃圾回收2、如何确定垃圾3、常见的垃圾回收算法4、串行、并行、并发、G1垃圾收集器5、Java中四种引用类型

2021-06-10 16:35:44 316

原创 JVM概述

1、什么是JVM2、JVM内存结构目录1、什么是JVM2、JVM内存结构

2021-06-08 18:51:47 1308 8

转载 MySql优化

关于mysql处理百万级以上的数据时如何提高其查询速度的方法 最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法。       由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条

2017-02-09 09:25:00 339

转载 Spring基础知识(一)

Spring_day01总结今日内容l   Spring框架的概述l   Spring的快速入门l   Spring 工厂接口l   在MyEclipse配置Spring的xml文件提示l   IoC容器装配Bean(xml配置方式)l   Ioc容器装配Bean(注解方式)l   在web项目中集成Springl   Spring 整合 junit4

2017-01-03 19:29:26 460

转载 Spring Data JPA

第一章:Spring Data JPA入门 Spring Data是什么 Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。 Spring Data 包含多个子项目:Commons - 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化 JPA - 简

2017-01-03 15:27:21 564

原创 定时器quartz

在spring的applicationContext.xml中配置 work 0 0/1 8-20 * * ? --> 0 0/5 * * * ? Cron表达式Cron表达式是一个字符串,字符串以5或

2016-12-21 00:05:33 478

转载 JQuery动态查询并分页

商品录入及上下架管理_商品管理">">$(function(){ var showStatus = $("#showStatus").val(); if(showStatus == '0'){ $("#label5").attr("class", "here"); }else if(showStatus == '1'){ $("#label4").attr("class"

2016-10-17 20:24:09 2599

转载 JQuery表单校验

添加品牌_品牌管理_商品管理">$(function(){ $("#form111").submit(function(){ var isSubmit = true; $(this).find("[reg2]").each(function(){ //获得输入的值 var val = $(this).val(); //获得正则表达式 var reg =

2016-10-17 10:13:08 317

转载 Oracle数据库(十二)触发器

--触发器基本语法--成功插入新员工后,自动打印“成功插入新员工”create or replace trigger saynewempafter inserton empdeclarebegin dbms_output.put_line('成功插入新员工');end;//*触发器应用一:实施复杂的安全性检查禁止在非工作时间插入新员工1. 周末:to_char(sys

2016-10-13 11:04:27 323

原创 Oracle数据库(十一)存储过程及Java程序调用存储过程

存储过程procedure--打印Hello World/*调用存储过程:1. exec sayhelloworld();2. begin sayhelloworld(); sayhelloworld(); end; /*/create or replace procedure sayhelloworldas --说明部分b

2016-10-13 11:01:07 534

原创 Oracle数据库(十)PLSQL

--打开输出开关set serveroutput on--PLSQL语法格式declare --说明部分begin --程序 dbms_output.put_line('Hello World');end;/--if 语句--判断用户从键盘上输入的数字set serveroutput on--接收键盘输入 --num: 地址值,在地址上保存了输入的数字

2016-10-13 10:49:47 1600

转载 Oracle数据库(九)数据库对象

SQL> --视图SQL> create view empinfoview 2 as 3 select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname 4 from emp e,dept d 5 where e.deptno=d.deptno;create view empinfoview *第 1

2016-10-12 09:16:51 291

转载 Oracle数据库(八)创建和管理表

SQL> create table test3 2 (tid number, 3 tname varchar2(20), 4 hiredate date default sysdate);表已创建。SQL> insert into test3(tid,tname) values(1,'Tom');已创建 1 行。SQL> select * from test3

2016-10-12 09:13:11 350

转载 Oracle数据库(七)处理数据

SQL> select count(*) Total, 2 sum(decode(to_char(hiredate,'yyyy'),'1980',1,0)) "1980", 3 sum(decode(to_char(hiredate,'yyyy'),'1981',1,0)) "1981", 4 sum(decode(to_char(hir

2016-10-12 09:10:06 373

转载 Oracle数据库(六)子查询

SQL> --查询工资比SCOTT高的员工信息SQL> --1. SCOTT的工资SQL> select sal from emp where ename='SCOTT'; SAL ----------

2016-10-12 09:01:04 339

转载 Oracle数据库(五)多表查询

SQL> --等值连接SQL> --查询员工信息:员工号 姓名 月薪 部门名称SQL> desc dept 名称 是否为空? 类型 ---------------------

2016-10-11 14:35:35 343

转载 Oracle数据库(四)多行函数

SQL> --工资总额SQL> select sum(sal) from emp; SUM(SAL)

2016-10-11 14:33:43 293

转载 Oracle数据库(三)单行函数

SQL> host clsSQL> --字符函数SQL> select lower('Hello World') 小写,upper('Hello World') 大写,initcap('hello world') 首字母大写 2 from dual;小写 大写 首字母大写

2016-10-11 14:31:40 346

转载 Oracle数据库(二)过滤和排序

SQL> --查询10号部门的员工SQL> select * 2 from emp 3 where deptno=10; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

2016-10-11 14:29:14 288

转载 Oracle数据库(一)基本查询

SQL> --清屏SQL> host clsSQL> --当前用户SQL> show userUSER 为 "SCOTT"SQL> --当前用户下的表SQL> select * from tab;TNAME TABTYPE CLUSTERID ------------

2016-10-11 11:04:32 316

转载 Oracle数据库(一)基本查询

SQL> --清屏SQL> host clsSQL> --当前用户SQL> show userUSER 为 "SCOTT"SQL> --当前用户下的表SQL> select * from tab;TNAME TABTYPE CLUSTERID ------------

2016-10-11 10:54:06 250

转载 Hibernate基础知识(四)

Hibernate_day04总结今日内容l Hibernate的二级缓存l Hibernate的查询缓存1.1 上次课内容回顾:Hibernate的检索方式:* 对象导航方式:* Customer customer = ...;* customer.getOrders(); * 根据OID进行检索:* get();* load(); * H

2016-09-28 18:21:46 265

转载 Hibernate基础知识(三)

Hibernate_day03总结今日内容l Hibernate的检索方式l Hibernate的抓取策略l Hibernate的批量检索l 事务的并发问题l Hibernate的二级缓存l Hibernate的查询缓存1.1 上次课内容回顾:1.Hibernate一级缓存:* 缓存:优化手段.* Hibernate中两个基本缓存:* 一级缓存:与s

2016-09-28 18:19:49 257

原创 mybatis的逆向工程

一、什么是mybatis的逆向工程 mybatis官方为了提高开发效率,提高自动对单表生成sql,包括 :mapper.xml、mapper.java、表名.java(po类)在企业开发中通常是在设计阶段对表进行设计 、创建。在开发阶段根据表结构创建对应的po类。 mybatis逆向工程的方向:由数据库表----》java代码二、如何创建逆向工程 以下使用通过java程

2016-09-28 17:21:45 281

原创 JDBC连接数据库

package com.mipo.mybatis.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class Jdb

2016-09-27 15:51:44 184

转载 Hibernate基础知识(二)

Hibernate_day02总结今日内容l Hibernate持久化对象的状态l Hibernate的一级缓存l Hibernate操作持久化对象的方法l Hibernate关联关系映射 1.1 上次课内容回顾Hibernate:* 第一天环境搭建,开发流程,配置和API* 第二天Hibernate持久化对象的状态,一级缓存,关联关系映射.* 第三

2016-09-25 11:58:34 221

转载 Hibernate基础知识(一)

Hibernate_day01总结今日内容l Hibernate框架的概述l Hibernate的快速入门l 日志记录l Hibernate常见配置及核心APIl Hibernate的持久化类l 主键的生成策略1.1 Struts2的复习第一天:* Struts2入门:(流程)第二天:* Struts2数据封装/类型转换/数据校验/国际化/拦截器

2016-09-24 16:57:12 313

转载 Spring基础知识(三)

Spring_day03总结今日内容l Spring的事务管理l 三大框架整合上次课的内容回顾:Spring的AOP开发:* AOP:面向切面编程,是对OO思想延伸.* AOP底层实现原理:动态代理.* JDK动态代理:针对实现了接口的类生产代理.* CGLIB代理:针对没有实现接口的类,产生一个子类.* AOP术语:* JoinPoint:可以被拦截点

2016-09-24 16:18:01 248

转载 Spring基础知识(二)

Spring_day02总结今日内容l AOP的概述l AOP的底层实现l Spring的AOPl 使用AspectJ实现AOPl Spring JdbcTemplate使用1.1 上次课的内容回顾:第一天:Spring的IOC.Spring就是一个大的工厂,通过工厂对Bean进行管理.* Spring的概述:* Spring的环境搭建:

2016-09-24 16:06:30 407

转载 Spring基础知识(一)

Spring_day01总结今日内容Spring框架的概述Spring的快速入门Spring 工厂接口在MyEclipse 配置Spring的xml文件提示IoC容器装配Bean(xml配置方式)Ioc容器装配Bean(注解方式)在web项目中集成SpringSpring 整合 junit4 测试 1.1Spring框架学习路线:Spring的IocSpri

2016-09-24 15:18:34 333

Tomcat配置JNDI数据源的N种方法

Tomcat配置JNDI数据源的N种方法

2016-08-03

空空如也

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

TA关注的人

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