自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张小胖不胖

小胖不胖

  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

原创 Kafka

Kafa总结

2022-07-02 20:02:18 455 2

原创 【JUC】COW容器浅析

文章目录1、什么是COW2、Java中的COW容器3、CopyOnWriteArrayList源码分析1、什么是COW维基百科定义:  写入时复制(英语:Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。其核心思想是,如果有多个调用者(callers)同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内...

2019-12-20 14:38:15 348

原创 2、多线程的实现方式

1、多线程主要的实现方式:一种是继承Thread类一种实现Runnable接口2、继承Thread类和实现Runnable接口的区别:由于Java是单继承方式,如果线程类已经继承了其它类,就不能使用继承Thread类的方式,但是可以转而使用实现Runnable接口的方式Thread类的run方法不能共享,比如说线程A不能把线程B的run方法当成是自己的执行单元,而使用Runnab...

2019-12-19 09:23:38 139

原创 1、Java并发编程基础概念

一、进程与线程进程:  进程是操作系统结构的基础,是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。线程:  线程可以理解为是进程中独立运行的子任务进程与线程的联系与区别:一个程序的运行至少包含一个进程,一个进程至少有一个线程线程的划分尺度要小于进程,使得多线程的并发性高进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大的提高了程序的运行效...

2019-12-19 09:19:15 138

原创 3、Thread API的简单介绍

1、sleep方法public static void sleep(long millis, int nanos) throws InterruptedException public static native void sleep(long millis) throws InterruptedException;sleep方法的作用是让当前线程暂停执行指定时间,给执行机会留给其他线程,...

2019-12-19 09:17:29 139

原创 【常用设计模式】单例设计模式

定义  单例是一种设计模式,单例模式可以保证系统中只有一个类只有一个实例,而且该实例易于外界访问,从而方便实例个数的控制并节约系统资源。单例模式通用类图八种单例设计模式使用方式及优缺点一、饿汉式public final class Singleton{ private Singleton(){} private static Singleton instance = n...

2019-09-30 10:19:41 180

原创 【六大设计原则】单一职责原则

一、定义:应该有且仅有一个原因引起类的变更。(单一职责原则要求一个接口或类只有一个原因引起变化,也就是一个接口或类只有一个职责,它就负责一件事情)二、优点:1)类的复杂性降低,实现什么职责都有清晰明确的定义;2) 可读性提高,复杂性降低,那当然可读性提高了;3)可维护性提高,可读性提高,那当然更容易维护了;4)变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的...

2019-09-29 16:16:43 916

原创 Java原子操作类

Java中Atomic包下,提供了一些简单、高效并且线程安全的更新一个变量的方式,包含四种类型的原子更新方式:原子更新基本类型、原子更新数组类型、原子更新引用类型,原子更新字段类。原子更新基本类型:AtomicBoolean:原子更新布尔类型变量值 AtomicInteger:原子更新整型 AtomicLong:原子更新长整型原子更新数组:AtomicIntegerA...

2019-05-20 15:25:07 186

转载 异地多活没那么难【转载】

1. 引言有幸参与了阿里游戏的一个高可用方案的设计,并且在网上发表了方案(面向业务的立体化高可用架构设计),后来参加GOPS全球运维大会深圳站,与众多行业高手交流,发现大家对“异地多活”这个方案设计非常感兴趣,毕竟“异地多活”的方案价值非常大,尤其是互联网行业,规模稍微大一点几乎都必须是标配;但同时大家都觉得“异地多活”的方案设计又很难,网络、数据、事务等各种问题混杂在一起,很多问题看似是无法...

2019-02-13 11:51:50 353

原创 【Java多线程与并发】——volatile关键字

在深入了解volatile关键字之前,我们有必要了解一些前提知识Java并发编程的三个重要的特性 原子性 所谓原子性是指在一次操作或多次操作中,要么所有的操作全部都得到了执行并且不会收到任何因素的干扰而中断,要么所有的操作都不执行。 可见性 可见性是指,当一个线程对共享变量进行了修改,那么另外的线程可以立即看到修改后的最新值。 有序性 有序性是指程序代码在执行过程...

2018-11-12 22:37:21 323

转载 【Java多线程与并发】——理解happens-before

摘自《Java高并发编程详解》用于概念理解happens-before由何出现?程序员希望内存模型易于理解、易于编程。程序员希望基于一个强内存模型来编写代码;而编译器和处理器希望内存模型对它们的束缚越少越好,这样它们就可以做尽可能多的优化来提高性能。编译器和处理器希望实现一个弱内存模型。由于这两个因素互相矛盾,所以JSR-133专家组在设计JMM时的核心目标就是找到一个好的平衡点:一方...

2018-11-12 22:03:27 238

原创 【Java多线程与并发】——join

目录1、join()简介2、例子3、底层原理4、其他方法1、join()简介join()方法的作用在一个线程内调用另一个线程实例的join()方法,表示线程在此阻塞,以等待相应的实例执行完成,join()内部是通过wait()方法实现的,因此调用join会自动释放锁2、例子public class ThreadDemo extends Thread { ...

2018-11-06 15:11:17 344

原创 【Java多线程与并发】——wait/notify

wait/notify为何而来?我们知道,线程与线程之间并不是完全独立的个体,多个线程之间可以通过访问共享变量,可以实现线程间进行通信。然而当多个线程访问同一共享变量,如果没有使用同步机制,即没有使用synchronize同步方法或者同步代码块,我们不确定线程读到的共享变量的值到底是不是想要的,或者说是准确的值。因此等待/通知机制的出现就满足解决了这一需求问题。 wait与not...

2018-11-05 22:01:35 930

原创 【Java多线程与并发】——Synchronized关键字详解

目录一、syncronized关键字介绍二、synchronized使用场景三 、synchronized的一些特性1)synchronized具有锁重入的功能2)同步不具有继承性3)退出或者异常发生时自动释放锁4)synchronized(string)使用的注意5)synchronized使用基本原则四、synchronized实现原理及应用1)同步方法...

2018-10-24 22:59:14 341

转载 【Java多线程与并发】——Thread.currentThread().getName()和this.getName()区别

首先,Thread.currentThread().getName() 和 this.getName()都可以用来获得线程的名称,但是它们是有区别滴,不能乱用!下面分别对这两个方法进行剖析:先来说说currentThread()方法,它的源码如下,它是一个本地方法,方法返回一个Thread对象:  /** * Returns a reference to the curr...

2018-10-22 21:22:20 557

原创 【Java多线程与并发】——多线程基础知识

目录一、什么是多线程二、多线程创建的几种方式1、继承Thread2、实现Runnable接口3、实现Callable接口4、线程池三、线程的生命周期四、Thread中的一些方法五、如何停止一个线程1、使用return停止线程:2、使用interrupt方法中断线程:3、抛异常法(推荐用法):4、在沉睡中停止:5、为什么不使用stop()方法停...

2018-10-22 15:37:15 247

转载 【Java多线程与并发】——JAVA多线程实现的四种方式

学习知识,尊重别人的劳动成果,原文地址:https://www.cnblogs.com/felixzh/p/6036074.htmlJava多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方...

2018-10-22 10:52:50 214

转载 【Java多线程与并发】——进程与线程联系与区别

进程从狭义上来说:是一段程序的执行过程从广义上来说:进程是一个具有独立功能的程序关于某个数据集的一次运行活动,它是操作系统动态执行的基本单元线程线程可以理解为进程中独立运行的子任务,作为独立运行和独立调度的基本单位区别和联系进程的执行过程是线状的, 尽管中间会发生中断或暂停,但该进程所拥有的资源只为该线状执行过程服务。一旦发生进程上下文切换,这些资源都是要被保护起...

2018-10-18 08:47:14 172

原创 排序——冒泡排序

冒泡排序思想将相邻的元素两两进行比较,大的元素向后移动一位,第一轮循环比较后,最大的元素移到了最后位置,以此进行。(按升序来说)排序稳定性:稳定 复杂度:O(n²)实现版: /** * 冒泡排序 * @param a 待排序数组 * @param n 数组长度 */ private void bubbleSort(int ...

2018-10-18 08:46:44 162

原创 Java集合——List接口

一、接口简介有序集合 这个接口的使用者在list集合中每个元素被插入的地方有严格的控制 用户可以通过整型索引访问 List允许重复元素,允许多个null值存在二、接口描述 Modifier and Type Method and Description boolean add(E e) 将指定的元素追加到此列表的...

2018-10-17 16:12:47 169

原创 Java集合之Collection接口

一、接口描述Collection接口是集合层级的根接口 它代表一组对象,我们称之为元素 一些集合允许重复元素,其他则不允许 一些集合是有序的,其他则是无序的 JDK没有提供Collection接口的直接实现,但是提供了更多子接口的实现,例如Set,List等 Collection接口通常是用来传递集合和在哪操作它们,被设计成最大的通用性二、接口方法简介修饰符和类型 方法名...

2018-10-17 15:51:14 205

转载 JPA和Spring Boot Data JPA 介绍

一、简介JPA,即Java Persistence API,是一种标准的技术,但不是一种框架,他可以让你将对象映射到关系型数据库中。Spring Data JPA是Spring Data系列的一部分,可以轻松实现基于JPA的存储库。该模块处理对基于JPA的数据访问层的增强的支持。这使得使用数据访问技术构建Spring供电的应用程序变得更加容易。Spring Data JPA旨在通...

2018-10-17 12:06:43 293

原创 2017秋招面试经验集合

算法:加密解密了解么?几种算法,讲一下你了解的 介绍一下红黑树 来个算法题:一个无序数组,其中一个数字出现的次数大于其他数字之和,求这个数字 (主元素) 答完再来一个:一个数组,有正有负,不改变顺序的情况下,求和最大的最长子序列 手撕算法:一棵二叉排序树,给定一个数,找到与给定数差值最小的数 手撕算法:两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,答主用的二分,时...

2018-10-17 11:59:12 235

原创 SQL中的where条件,在数据库中提取与应用浅析

1        问题描述一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍: 给定一条SQL,如何提取其中的wh...

2018-10-17 11:55:34 216

原创 MySQL 数据库引擎,区别特点

MyISAM该引擎基于ISAM数据库引擎,除了提供ISAM里所没有的索引和字段管理等大量功能,MyISAM还使用一种表格锁定的机制来优化多个并发的读写操作,但是需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间,否则碎片也会随之增加,最终影响数据访问性能。MyISAM强调了快速读取操作,主要用于高负载的select。ARCHIVE该存储引擎非常适合存储大量...

2018-10-17 11:53:15 430

原创 JDBC详解

2018-10-17 11:50:51 133

原创 什么是Redis?

(1)什么是redis? Redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正) (2)Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以...

2018-10-17 11:48:07 411 1

原创 【Java多线程与并发】——Java多线程与并发概念理解

同步和异步同步和异步是针对方法调用而言的同步是指方法调用会等待方法返回,方法返回后才能继续往下执行。异步是指方法调用会立即返回,并继续向下执行,但是异步调用立即返回并不表示这个调用请求处理完成,而是会在后台起一个线程去执行。并行与并发并行与并发从外在表象上来看都是同时执行的。并行是指多个线程或者是多个进程同时执行,在单核Cpu上是不可能存在并行的,因为同一时刻单个cpu只能...

2018-10-17 11:46:50 265

原创 JDK命令行工具使用

 JDK命令行工具Sun JDK 监控和故障处理工具 名称 主要作用 jps JVM Process Status Tool,显示指定系统内所有的Hotspot虚拟机进程                       jps 虚拟机进程状况工具 jps是功能单一,但是也是使用频率最高的JDK命令行工具,它主要...

2018-10-17 11:43:44 190

原创 CentOS7 安装编译openjdk7

转载地址:https://www.cnblogs.com/mr-long/p/5841604.html准备环境:操作系统: CentOS7 64位 openjdk、jdk、ant资源下载链接:http://pan.baidu.com/s/1o7NzZKm 密码:c8sw依赖资源安装安装alsa包  yum install alsa-lib-devel 安装cups-de...

2018-10-15 20:47:59 257

原创 CentOS 7.3 下安装RabbitMQ

前言最近想研究一下rabbitmq,昨晚参照网上教程安装,遇到了一些问题,但是今天终于豁然开朗了,在此记录一下Linux环境下安装RabbitMQ的过程,及分享一些遇到的问题和解决方式。这里我们安装RabbitMQ都使用最新的版本。环境服务器:aliyun服务器操作系统:CentOS 7.3RabbitMQ版本:v3.6.15安装Erlang安装由于R...

2018-10-10 11:55:51 368

原创 Spring Boot 使用 JPA

1、JPAJPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的宗旨是为POJO提供持久化标准规范,总的来说,包括以下3个方面的技术:ORM映射元数据JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将...

2018-09-03 10:48:21 175

原创 Spring Boot使用JDBCTemplate

Spring Boot 使用JDBCTemplate1、加入相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifa...

2018-08-31 16:39:32 354

转载 Spring Boot 日志组件logback实现日志分级打印

本文为转载文章,转载地址:https://blog.csdn.net/qq_16415417/article/details/80936857 你是否因为项目出现问题,查找日志文件定位错误花费N多时间,是否为此苦不堪言,没关系!现在通过这篇文章,将彻底解决你的烦恼,这篇文篇介绍,如何通过logback配置文件将日志进行分级打印,一个配置文件彻底搞定日志查找得烦恼。准备工作环境:...

2018-08-30 23:17:20 506

原创 Spring Boot配置文件详解

1、简介Spring Boot应用在pom.xml文件中引入了模块化的Starter POMS,这些模块有都自己默认的配置,当我们创建Spring Boot应用时,都会默认的创建一个全局的配置文件,要么是application.properties,要么是application.yml文件,而这个全局配置文件的作用就是修改Spring Boot自动配置的默认值。 .properties ...

2018-08-30 22:47:19 218

原创 SpringBoot在IDEA中通过配置devtools实现热部署

目录1.添加依赖2.settings—》build—》Compiler—》勾选Build project automatically3.ctrl+shift+A——双击Registry4 .选中compiler.automake.allow.when.app.running1.添加依赖 <dependency> &...

2018-08-27 22:54:18 6258

原创 Java自动拆/装箱

我们知道Java的基本数据类型都有对应的封装数据类型,如下:基本数据类型 封装数据类型 byte Byte short Short int Integer long Long float Float double Double boolean Boolean char Character ...

2018-08-23 11:10:12 222

Java集合框架面试题

Java集合框架问题,整理整理整理整理整理整理整理整理整理

2018-07-19

curl-7.59.0.zip

curl-7.59.0.zip,执行post请求,方便下载curl-7.59.0.zip,执行post请求,方便下载

2018-04-27

fckeditor资源

fckeditor资源包里包含了fckeditor文字编辑器用到的所有js

2014-02-04

tree用到js和dom4j-1.6.1.jar包

里面包含创建一棵树用到的js和必要的jar包

2014-02-04

空空如也

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

TA关注的人

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