自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程死锁与银行家算法

进程死锁与银行家算法目录进程死锁与银行家算法前言一、死锁是什么?1. 官方解释2.通俗的来讲二、使用步骤1.引入库2.读入数据总结前言工作中遇到的问题。一、死锁是什么?1. 官方解释进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事。则进程就死锁了。而如果一个或多个进程产生了死锁,就会造成系统死锁。2.通俗的来讲系统当中有一系列的资源,有一系列需要用...

2020-11-15 19:57:40 410

原创 Spring Boot之使用SpringCache和Redis

Spring Boot之使用SpringCache和RedisSpring Boot之使用SpringCache和RedisSpring Cache声明式缓存注解@EnableCaching@Cacheable@CachePut@CacheEvict@CachingSpring Boot之使用SpringCache和RedisSpring Cache在很多应用场景中通常是获取前后相同或更新不频繁的数据,比如访问产品信息数据、网页数据。如果没有使用缓存,则访问每次需要重复请求数据库,这会导致大部分时间都

2020-06-30 14:39:25 162

原创 缓存-Spring缓存抽象

缓存-Spring缓存抽象Spring缓存抽象简介几个重要概念&缓存注解Spring缓存抽象简介Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们开发。Cache接口为缓存的组件规范定义,包含缓存的各种操作集合;Cache接口下Spring提供了各种xxxCache的实现;如RedisCache

2020-05-19 14:34:37 119

原创 C# 委托、Lambada表达式和事件

委托委托是寻址方法的.NET版本。在C++中,函数指针只不过是一个指向内存位置的指针,它不是类型安全的。我们无法判断这个指针实际指向什么,像参数和返回类型等项就更无从知晓了。而.NET委托完全不同,委托是类型安全的类,它定义了返回类型和参数的类型。委托类不仅包含对方法的引用,也可以包含对多个方法的引用。...

2020-04-03 09:49:23 156

原创 C# 线程、任务和同步

线程、任务和同步使用线程有几个原因。假设从应用程序中进行网络调用需要一定的时间。用户不希望分割用户界,并且让用户一直等待直到从服务器返回一个响应为止。用户可以同时执行其他一些操作,或者甚至取消发送给服务器的请求。这些都可以使用线程来实现。对于所有需要等待的操作,例如,因为文件、数据库或网络访问都需要一定的时间,此时就可以启动一个新线程,同时完成其他任务。即使是处理密集型的任务,线程也是有帮助的...

2020-04-02 13:54:14 131

原创 C# 消息队列

消息队列System.Messaging名称空间包含的类可以用Windows操作系统的消息队列功能读写消息。消息传递功能可以在断开连接的环境夏使用,在该环境下,客户端和服务端不需要同时运行。我将介绍消息队列的体系结构和用法,探讨System.Messaging名称空间中用于创建队列和收发消息的类,学习如何使用确认队列和响应队列从服务器中获得应答,如何通过WCF消息队列绑定使用消息队列。概述...

2020-04-02 11:28:35 851

原创 .NET和COM互操作性

内容来自《C#高级编程》第7版.NET和COM互操作性.NET和COM元数据释放内存接口自定义接口.NET和COMCOM是.NET以前的技术。COM定义了一个组件模型,在该模型中,组件可以用不同的编程语言编写。用C++编写的组件可以在VB客户端中使用。组件还可以在本地的进程中使用,跨进程使用或跨网络使用。看起来是不是很熟悉?当然,.NET的目标也是这样。但这些目标的实现方式不同。COM概念使...

2020-03-25 17:19:17 179

原创 C#之多线程和同步

文章目录多线程线程与进程创建线程第一种方法,无返回值创建一个线程task(注意Main也是一个线程)创建两个线程task1、task2两个线程共享数据times第二种方法,返回值可有可无(最常用)创建一个线程task线程上的异常处理方法一方法二 task.ContinueWith()并行处理如果不是并行,是线性串行执行,我们来计时并行、多线程处理同步使用lock关键字(锁)解决Interlocke...

2020-03-22 21:55:27 348

原创 C# Socket编程

Service创建一个Windows窗体应用属性值:首先我们编写启动按钮(监听): IPAddress ip; TcpListener listener; private void buttonStart_Click(object sender, EventArgs e) { ip = IPAddr...

2020-03-22 12:03:44 285

翻译 《数字图像处理 Java语言算法描述》 -Willhelm Burger Mark J.Burge著 黄华等译

第一章 品位像素在过去的很长一段时间里,只有少数能够接触到昂贵设备的专业人员才有机会使用计算机操作数字图像(即数字图像处理)。这种专业人员与设备的组合通常只会出现在一些研究性实验室,因此数字图像处理技术起源于学术领域。如今,台式计算机的处理能力已日益增强,而且几乎每个人都拥有一些获取数字图像的设备,例如手机摄像头、数码相机、扫描仪。这些设备产生了大量的数字图像,使得数字图像处理变得和文字处理一...

2020-03-09 10:53:00 652

原创 FIJI (ImageJ) 图像处理合集

1.更改伪彩颜色ImageJ可以打开CAI格式,尼康的2084的原始格式等等。将图片直接拖拽到imageJ软件上。会弹出一个窗口这个窗口就是告诉我们:关于这个图像的原始格式是否需要进行设置。通常使用默认的,点击Ok。就可以打开这个图像如果打开后图像的伪彩颜色不正常怎么办?这时可以打开Image->Color->Channels Tool就可以设置图像伪彩颜色...

2020-03-08 12:27:56 18439

原创 Matplotlib数据可视化(python)

Matplotlib 是一个Python的 2D绘图库。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。通过学习Matplotlib,可让数据可视化,更直观的真实给用户。使数据更加客观、更具有说服力。 Matplotlib是Python的库,又是开发中常用的库。matplotlib开发环境搭建如果使用的是Anaconda Pyt...

2020-03-08 12:16:21 740

原创 Spring AOP的底层原理

1.@EnableAspectJAutoProxy@EnableAspectJAutoProxy是什么?@Import(AspectJAutoProxyRegistrar.class)导入AspectJAutoProxyRegistrar组件AspectJAutoProxyRegistrar是什么?实现ImportBeanDefinitionRegistrar类:可以自定义给容器中注...

2020-02-25 17:27:21 158

原创 消息中间件MQ之ActiveMQ

MQ学习前言MQ = 消息中间件消息: 微信、短信、语音…中间件MQ全称为Message Queue,消息队列(MQ)是正确而又完整的 JMS 实现,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是...

2020-02-15 14:04:01 173

原创 NIO

Java NIO简介Java NIO(New IO Non Blocking IO)是从Java1.4版本开始引入的一个新的IO API,可以替代标准的JJava IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓存区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。传统的IONIOJava NIO系统的核心在于:通道(Ch...

2020-02-11 20:12:07 74

原创 Java8新特性

速度更快(例如在HashMap底层使用:数组-链表-红黑树 、ConcurrentHashMap底层使用:数组-链表-红黑树 CAS+ synchronized)代码更少(增加了新的语法Lambda表达式)强大的Stream API便于并行最大化减少空指针异常 OptionalLambda表达式为什么使用Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理...

2020-02-10 18:26:01 91

原创 单例设计模式

什么是Singleton?Singleton:在Java中即指单例设计模式,它是软件开发中最常用的设计模式之一。单:唯一例:实例单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。例如: 代码JVM运行环境的Runtime类要点一是,某个类只能有一个实例构造器私有化二是,它必须自行创建这个实例含有一个该类的静态变量来保存这个唯一的实例三是,它...

2020-02-08 21:04:59 474

原创 版本控制器:SVN

1.开发中的实际问题1.1 小明负责的模块就要完成了,就在即将 Release 之前的一瞬间,电脑突然蓝屏, 硬盘光荣牺牲!几个月来的努力付之东流——需求之一:备份!1.2 这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这 被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦 A 梦的时光机啊? 需求之二:代码还原!1.3 小刚和小强先后从文件服务器上下载...

2020-02-07 12:29:50 143

原创 JVM和GC

JVM内存结构JVM体系概述Java8以后的JVMjava8GC的作用域常见的垃圾回收算法引用计数复制算法JAVA堆从GC的角度还可以细分为:新生代(Eden区、From Survivor区和To Survivor区)和老年代。标记清除标记整理标记-压缩(Mark-Compact)...

2020-02-07 11:53:14 74

原创 死锁

是什么?死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力干涉那它们都将无法推进下去,如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。产生死锁主要原因系统资源不足进程运行推进的顺序不合适资源分配不当好像很容易懂,但是死锁怎么出现的?怎么故障排查?写个死锁package com.th...

2020-02-07 11:21:53 167

原创 线程池

线程池使用及优势线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行。主要特点线程复用;控制最大并发数;管理线程。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二,提高响应速度。当任务到达时,任务可以不需要的等到线程创...

2020-02-05 14:31:57 86

原创 synchronized和lock有什么区别?用新的lock有什么好处?

原始构成synchronized: 是属于JVM层面,它是java的关键字。monitorebter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象只有在同步块或方法中才能调wait/notfy等方法) monitorexitlock:是属于API层面,它是java5以后新发布的一个类。是具体类java.util.concur...

2020-02-04 12:23:00 173

原创 阻塞队列

阻塞队列队列先进先出阻塞队列线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素。当阻塞队列是空时,从队列中获取元素的操作将会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。当阻塞队列是满时,往队列里添加元素的操作将会被阻塞。试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程从列中移除一个或者多个元素...

2020-02-03 12:18:04 86

原创 java锁

java锁之公平和非公平锁什么是公平锁?什么是非公平锁这是我们经常用的一段代码Lock lock = new ReentrantLock();那么我们看看它的底层默认构造器传值(false)当传值为true时,调用FairSync;当传值为false时,调用NonfairSync我们来看看API公平锁:是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到。非公...

2020-01-31 20:22:41 78

原创 java集合类不安全问题

集合类不安全之并发修改异常ArrayListArrayList的底层数据结构就是一个数组,数组元素的类型为Object类型,对ArrayList的所有操作底层都是基于数组的。为了提高并发效率,add方法没有添加synchronized,也没有其他任何保证线程安全的方法。所以是线程不安全的。package com.collection;import java.util.ArrayList...

2020-01-31 14:30:26 164

原创 Spring注解驱动开发

Spring注解驱动开发组件注册-@Configuration&@Bean给容器中注册组件修改pom文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven...

2020-01-23 12:55:46 153

原创 JAVA JUC线程

JAVA JUC线程JAVA JUC简介在Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步 IO 和轻量级任务框架。提供可调的、灵活的线程池。还提供了设计用于 多线程上下文中的 Collection 实现等。1、volatile 关键字内存可见性举例创...

2020-01-18 22:26:46 170

原创 自学SpringData--04SpringData Redis

SpringData RedisSpring Data Redis是Spring Data大家庭中的一部分,为redis到spring的一个应用提供了一个简单的配置和访问。并且提供了一个低版本和高版本的抽象来跟存储作交互,让用户很方便的去解决一些基础或者初级性的问题。Redis安装1.# yum install -y gcc-c++由于是 c 语言编写,所以需要安装支持组件2.把压缩...

2020-01-16 22:21:28 65

原创 自学SpringBoot--05服务端表单数据校验

Spring Boot 服务端表单数据校验实现添加用户功能创建项目修改pom文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM...

2020-01-15 21:21:27 97

原创 自学SpringData--04SpringData JPA

SpringData JPASpringData JPA 是spring data项目下的模块。提供了一套基于JPA标准操作数据库的简化方案。底层默认的是依赖Hibernate JPA来实现的。SpringData JPA的技术特点我们只需定义接口并继承Spring Data JPA中所提供的接口就可以了。不需要编写接口实现类。创建Spring Data JPA项目复制之前的项目还需...

2020-01-10 21:18:06 123

原创 自学SpringData--03Spring整合HibernateJPA

Spring整合HibernateJPAJPA: 由Sun公司提供了一对对于持久层操作的标准(接口+文档)Hibernate: 是Gavin King开发的一套对于持久层操作的自动的ORM框架。Hibernate JPA: 是在Hibernate3.2 版本那种提供了对于JPA的标准的实现。提供了一套按照JPA标准来实现持久层开发的API。创建项目copy上一个项目在项目中导入Hib...

2020-01-10 17:09:06 272

原创 自学SpringCloud-01SpringCloud入门

SpringCloud什么是SpringCloud什么是SpringCloud:是一个服务治理中心,提供了一些服务框架。包含了:服务注册与发现、配置中心、消息中心、负载均衡、数据监控等等。概念定义SpringCloud是一个微服务框架,相比Dubbo等RPC框架,SpringCloud提供的全套的分布式系统解决方案。SpringCloud对微服务基础框架Netflix的多个开源组件进行了...

2020-01-07 20:07:24 74

原创 自学SpringCloud-01微服务架构介绍

微服务架构介绍单体架构单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合在一个应用中的架构方式。单体架构特点打包成一个独立的单元(导成一个唯一的jar包或者是war包)会以一个进程的方式来运行单体架构的优点、缺点优点:项目易于管理部署简单缺点:测试成本高可伸缩性差可靠性差系统迭代困难跨语言程度差团队协作难微服务架构什么是微...

2020-01-06 18:43:46 85

原创 自学SpringData--02Spring整合Hibernate

Spring整合Hibernate创建项目创建一个java project创建一个lib目录用于导入Jar包导入的Jar如下选中所有Jar包右键——>Build Path——>Add to Build Path我们还有加入Junit选中项目右键——>Build Path——>Add Libraries我们使用Junit4在配置文件中定义框架...

2020-01-05 20:51:56 61

原创 自学SpringData--01技术介绍

SpringData使用的工具JDK1.8.0_181EclipseHibernate:5.0.7 FinalSpring:4.2.0 RELEASESpring Data JPA : 1.9.0 RELEASESpring Data Redis: 1.6.0 RELEASEHibernateJPA标准Hibernate JPAHibernate在3.2以后根据JPA...

2020-01-04 19:35:29 90

原创 自学SpringBoot--04整合持久层技术--整合SpringMVC+Mybatis

SpringBootSpring整合SpringMVC+Mybatis需求分析:通过使用SpringBoot+SpringMVC+Mybatis整合实现一个对数据库中的users表的CRUD的操作创建项目finish修改pom文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3...

2020-01-02 20:33:31 166 1

原创 自学SpringBoot--03视图层技术--Thymeleaf语法详解

SpringBoot变量输出与字符串操作th:textth:text在页面中输出值th:valueth:value可以将一个值放入到input标签的value中判断字符串是否为空thymeleaf内置对象注意语法:1,调用内置对象一定要用#2,大部分的内置对象都以s结尾strings、numbers、dates’...

2020-01-02 20:00:47 87

原创 自学SpringBoot--03视图层技术--SpringBoot整合Thymeleaf

SpringBootSpringBoot整合Thymeleaf创建入门项目创建项目版本我们使用的是1.5.10.RELEASE点击finish修改pom文件添加坐标<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xs...

2020-01-02 10:45:30 113 1

原创 ThreadLocal是什么?在mybatic如何应用?

ThreadLocal是什么?在mybatic如何应用?ThreadLocal从数据结构入手上面这些都太抽象辽,我们来点简单的例子ThreadLocal在mybatis中的应用util工具类filter过滤器mapper层pojo层Selvlet层service层mybatis.xmljspThreadLocalThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放...

2019-07-16 14:53:21 208

原创 简单易懂的SpringMVC原理,了解四个重要组件足以

回忆Servlet大家肯定都学会Servlet首先我们来聊聊@WebServlet()它的作用:用于将一个类声明为 Servlet(不用配置web.xml)具体:该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet。请问大家@WebServlet("/")和@WebServlet("/*")有什么不同?有人会说:so easy~有人会说:一样啊,都是...

2019-04-02 21:38:04 352

空空如也

空空如也

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

TA关注的人

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