Java
文章平均质量分 77
漫玥刚花
这个作者很懒,什么都没留下…
展开
-
h-a-p-p-e-n-before原则的理解
happen-before 可真是一个经典又老生常谈的话题,规则一共就八条,但看起来总有种抓不住重点的感觉。今天再整理一下对这八条规则的理解。 首先我的理解是 happen-before 的语义与在什么什么之前发生完全没有关系,其语义是如果 A hapen-bfore B,那么 A 的结果对 B 是可见的。通过这些规则可以保证程序按我们预想的方式运转。 我个人理解中将该原则分两部分理解,单线程与多线程环境下的HB。单线程下通过语义分析数据依赖关系,编译器和处理器可以合理的优化我们...原创 2022-02-16 11:15:08 · 390 阅读 · 0 评论 -
关键字t-r-a-n-s-ient
这个关键字的作用其实我在写java的序列化机制中曾经写过,不过那时候只是简单地认识,只要其简单的用法,没有深入的去分析。这篇文章就是去深入分析一下transient关键字。先给出这篇文章的大致脉络首先,介绍了transient的基本概念和基本用法、然后,介绍深入分析一下transient关键字,并介绍几个需要掌握的问题最后,来个总结一、初识transient关键字其实这个关键字的作用很好理解,就是简单的一句话:将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不原创 2022-02-15 10:05:19 · 163 阅读 · 0 评论 -
linux安装J-D-K
操作系统:Centos6.4 64位工具:Xftp5、Xshell51.下载jdk8方法一:官网手动下载下载Linux环境下的jdk1.8目前在官网下载低于jdk1.8的java jdk的时候需要登陆,这边分享一个账号,方便下载账号:913898356@qq.com密码:Oracle123.账号提供者:https://blog.csdn.net/WNsshssm/article/details/84315519方法二:在线下载wget http://download.原创 2021-12-28 10:54:17 · 139 阅读 · 0 评论 -
java解决手机上传竖拍照片旋转90\180\270度问题
<dependency><groupId>com.drewnoakes</groupId><artifactId>metadata-extractor</artifactId><version>2.11.0</version></dependency>import java...原创 2019-12-27 11:40:26 · 403 阅读 · 0 评论 -
javaWeb中如何防止两个人同时操作同一条记录(限制单人操作),使用redis的解决方式
最近在做demo的时候,碰到这么一个问题:当页面上同一角色有两个人登录的时候,他们同时操作统一条记录; 简言之就是,同一记录同一时刻多人操作。这种情况在我的业务中回导致数据的冗余,干扰正常的程序运行。当时想到的解决办是锁表或者使用缓存(当然其他的方式可以在下方留言探讨~),锁表没有尝试过所以自然就想到了缓存。实现思路是,当页面端用户选中记录并且进行操作的时候,在服务端先不进行业务处理,而是先...原创 2019-12-19 15:17:20 · 4211 阅读 · 4 评论 -
解决JPA Native 查询不能使用投影(Projection)的问题 org.springframework.core.convert.ConverterNotFoundException:
问题原因org.springframework.core.convert.ConverterNotFoundException:No converter found capable of converting from type[org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$Tu...原创 2019-12-18 14:51:08 · 2743 阅读 · 0 评论 -
SpringBoot自定义线程池执行异步任务1
第一步注册线程池 @Bean("taskExecutor") public Executor taskExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(10); executor....原创 2019-12-09 18:45:32 · 343 阅读 · 1 评论 -
SpringBoot自定义-线程-池执-行异-步任-务
@Async异步调用就不解释什么是异步调用了,Spring Boot中进行异步调用很简单1.通过使用@Async注解就能简单的将原来的同步函数变为异步函数package com.winner.service;import org.springframework.scheduling.annotation.Async;import org.springframework.st...原创 2019-12-09 18:44:44 · 195 阅读 · 0 评论 -
线程池(ThreadPoolExecutor)处理异步任务
1.前言我们在开发时候或多或少都会用到线程,而通常创建线程有两种方式:继承Thread类 实现Runnable接口这两种方式虽然都可以创建线程,但是是有区别的:主要区别在于在多线程访问同一资源的情况下,用Runnable接口创建的线程可以处理同一资源,而用Thread类创建的线程则各自独立处理,各自拥有自己的资源,这样不利于资源共享。 用Thread类创建是继承的方式,而用Run...原创 2019-12-09 18:03:31 · 4550 阅读 · 0 评论 -
Integer和int有什么区别
Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换,对应如下:原始类型:boolean,char,byte,short,int,long,f...转载 2018-07-12 11:26:41 · 218 阅读 · 0 评论 -
--重-载-与重-写的区别
重载(Overloading)方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。重...原创 2018-07-12 11:31:39 · 138 阅读 · 0 评论 -
Java抽象类与接口的区别
自己的理解:接口类描述的是行为 抽象类描述的是根源;接口是对动作的抽象,抽象类是对根源的抽象。很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是...原创 2018-07-12 11:40:15 · 90 阅读 · 0 评论 -
Java反射机制
1.反射机制定义反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改其本身状态或行为的一种能力。在Java环境中,反射机制允许程序在执行时获取某个类自身的定义信息,例如熟悉和方法等也可以实现动态创建类的对象、变更属性的内容或执行特定的方法的功能。从而使Java具有动态语言的特性,增强了程序的灵活性和可移植性。2.反射机制的作用Java反射机制主要...原创 2018-07-12 11:53:13 · 143 阅读 · 0 评论 -
JAVA自定义注解、元注解介绍及自定义注解使用场景
自定义注解会需要元注解,此处先介绍元注解。元注解java中有四种元注解:@Retention、@Inherited、@Documented、@Target@Retention注解的保留位置(枚举RetentionPolicy),RetentionPolicy可选值:SOURCE:注解仅存在于源码中,在class字节码文件中不包含 CLASS:默认的保留策略,注解在class字...原创 2018-07-12 12:15:36 · 555 阅读 · 0 评论 -
JDBC编程的六个步骤
JDBC概述 使用JDBC也挺长时间了,最近因为想学习mybatis的源码,因此打算重新复习一下JDBC的使用。定义:JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开...原创 2018-07-12 14:15:29 · 3906 阅读 · 0 评论 -
BIO(阻塞IO)、NIO(非阻塞同步IO)、AIO(非阻塞异步IO)
目录1、BIO(阻塞IO)、NIO(同步非阻塞IO)、AIO(异步非阻塞IO)区别2、java NIO原理及实例1、BIO(阻塞IO)、NIO(同步非阻塞IO)、AIO(异步非阻塞IO)区别一:事件分离器在IO读写时,把 IO请求 与 读写操作 分离调配进行,需要用到事件分离器。根据处理机制的不同,事件分离器又分为:同步的Reactor和异步的Proactor。Reactor模型...原创 2019-03-29 23:08:57 · 399 阅读 · 0 评论 -
Netty 部分知识点
1.Netty 是什么?Netty 是一款基于 NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,对比于 BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高。难能可贵的是,在保证快速和易用性的同时,并没有丧失可维护性和性能等优势。2.Netty 的特点是什么?高并发:Netty 是一款基于 NIO(Nonblocking IO,非阻塞IO)开...转载 2019-04-12 11:06:40 · 104 阅读 · 0 评论 -
J2EE的体系架构——J2EE
http://www.cnblogs.com/yutingliuyl/p/7281352.html原创 2019-04-22 18:06:10 · 253 阅读 · 0 评论 -
JMS
https://www.cnblogs.com/jaycekon/p/6220200.html原创 2019-04-23 11:20:28 · 131 阅读 · 0 评论 -
final、finally、finalize的区别
1、final修饰符(关键字)。被final修饰的类,就意味着不能再派生出新的子类,不能作为父类而被子类继承。因此一个类不能既被abstract声明,又被final声明。将变量或方法声明为final,可以保证他们在使用的过程中不被修改。被声明为final的变量必须在声明时给出变量的初始值,而在以后的引用中只能读取。被final声明的方法也同样只能使用,不能重载。【例】public cla...转载 2018-07-12 11:20:14 · 94 阅读 · 0 评论 -
数据库连接池的实现及原理
对于一个简单的数据库应用,由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。连接复用。通过建立一个数据库连接池以及一套连接使用管理策略,使得一个数据库连接可以得到高效、安全的复...转载 2019-04-11 10:59:44 · 280 阅读 · 0 评论 -
面试题-Java多线程
一、其他多线程问题为何要使用同步? 关于线程同步(7种方式):http://www.php.cn/java-article-407607.html 线程的五种状态:https://www.cnblogs.com/jijijiefang/articles/7222955.html sleep和wait的区别:https://www.cnblogs.com/muhe221/articles/4...原创 2018-07-16 16:31:10 · 581 阅读 · 0 评论 -
线程池实现原理
jdk1.5引入Executor线程池框架,通过它把任务的提交和执行进行解耦,只需要定义好任务,然后提交给线程池,而不用关心该任务是如何执行、被哪个线程执行,以及什么时候执行。初始化线程池(4种)简介:Java线程池的工厂类:Executors类,初始化4种类型的线程池:newFixedThreadPool()说明:初始化一个指定线程数的线程池,其中corePoolSize ...转载 2019-03-14 00:24:24 · 550 阅读 · 0 评论 -
java-遗漏知识
一、JVMJava中JVM虚拟机详解:https://blog.csdn.net/sinat_35512245/article/details/54744815 二、JVMweb项目中的跨 2一、JVMweb项目中的跨一、JVMweb项目中的跨一、JVMweb项目中的跨...原创 2019-02-25 23:58:45 · 101 阅读 · 0 评论 -
BIO、NIO和AIO的区别(简明版)
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6543960.html 一:事件分离器 在IO读写时,把 IO请求 与 读写操作 分离调配进行,需要用到事件分离器。根据处理机制的不同,事件分离器又分为:同步的Reactor和异步的Proactor。 Reactor模型: - 应用程序在事件分离器注...转载 2018-08-17 14:54:34 · 124 阅读 · 0 评论 -
J-A-V-A的知识积累(一)
1、hashMap的深入分析https://blog.csdn.net/lianhuazy167/article/details/66967698红黑树:https://blog.csdn.net/cyp331203/article/details/426778332、HashMap和ConcurrentHashMap浅析?https://blog.csdn.net/a616413086/arti...原创 2018-04-27 14:35:56 · 1204 阅读 · 0 评论