java
文章平均质量分 73
码出天空
这个作者很懒,什么都没留下…
展开
-
HashMap
一、存储类型比较1.数组特点 存储区间是连续,且占用内存严重,空间复杂也很大,时间复杂为O(1)。优点:是随机读取效率很高,原因数组是连续(随机访问性强,查找速度快)。缺点:插入和删除数据效率低,因插入数据,这个位置后面的数据在内存中要往后移的,且大小固定不易动态扩展。2.链表特点 区间离散,占用内存宽松,空间复杂度小,时间复杂度O(N)。优点:插入删除速度快,内存利用率高,没有大小固定,扩展灵活。缺点:不能随机查找,每次都是从第一个开始遍历(查询效率低)。3.哈希表特点 以上数原创 2021-04-18 10:28:27 · 147 阅读 · 2 评论 -
zookeeper
ZooKeeper 是什么?ZooKeeper 是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。Zookeeper 保证了如下分布式一致性特性:顺序一致性原子性单一视图可靠性实时性(最终一致性).原创 2021-04-07 18:03:09 · 260 阅读 · 0 评论 -
spring
一、概述1.什么是Spring Spring诞生的目的是致力于全面的简化JAVA的企业级应用开发。 // 也可以理解为是一个管理型的框架 使用Spring框架开发, 对于项目的代码入侵性小。 Spring框架内部使用了众多的设计模式 : 工厂模式、 单例模式、原型模式、代理模式、策略模式 等等二、Spring事务1、事务控制1.1事务:事务是用户操作数据库的基本单元。组成事务的一组sql要么一起成功,要么一起失败。2.JDBC中如何手动控制事务:2.1 设置手动控制事务: conn.s原创 2021-03-16 18:45:25 · 104 阅读 · 0 评论 -
Quartz简介
一、Quartz相关介绍1.简介 1.1 Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。 1.2 Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。 1.3 Quartz 允许程序开发人员根据时间的间隔来调度作业。 1.4 Quartz 实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。2.Quartz 核心概念 我们需要明白 Quartz 的几个核心概念,这样理解起 Q原创 2021-02-22 18:12:04 · 1566 阅读 · 0 评论 -
图数据库neo4简介以及与Java集成
一、neo4j介绍 Neo是一个网络——面向网络的数据库——也就是说,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络上而不是表中。网络(从数学角度叫做图)是一个灵活的数据结构,可以应用更加敏捷和快速的开发模式。 你可以把Neo看作是一个高性能的图引擎,该引擎具有成熟和健壮的数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。...原创 2020-12-01 11:29:04 · 2449 阅读 · 1 评论 -
数据结构与算法
一原创 2020-12-01 10:08:21 · 303 阅读 · 0 评论 -
Java线程池浅析
一、Java线程池浅析原创 2020-11-18 15:49:45 · 114 阅读 · 0 评论 -
spring学习记录
一、基本概念 Spring 是一个主流的 Java Web 开发框架,一个轻量级JaveEE解决方案。1,1、Spring优点轻量级,非侵入式对现有的类结构没有影响可以提供众多服务,如事务管理,WS等AOP的很好支持,方便面向切面编程,使得业务逻辑和系统服务分开对主流的框架提供了很好的集成支持,如hibernate,Struts2,JPA等,像一个胶水一样,把一些好的框架粘合在一起方便实用使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专原创 2020-11-18 15:46:18 · 123 阅读 · 0 评论 -
MyBatis
一、MyBatis相关知识1、讲MyBatis 的缓存 emsp;MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现 Serializable 序列化接口(可用来保存对象的状态),可在它的映射文件中配置3、Mybatis 是如何进行分页的?分页插件的原理是什么?答:1)Mybatis 使用 RowBounds 对象进行分页,也可以直接编写 sql 实现分页,也可以使用Mybatis原创 2020-11-18 11:46:15 · 113 阅读 · 2 评论 -
Java集合框架
一、Java集合框架ArrayList 和 Vector 的区别。这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是HashSet 之类的集合的最大不同处,HashSet 之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目问的与 hashset 没有任何关系,但为了说清楚 Arra原创 2020-11-17 17:27:57 · 74 阅读 · 0 评论 -
多线程-高并发问题
一、多线程1. stop() 和 suspend() 方法为何不推荐使用? 反对使用 stop(),是因为它不安全。它会解除由线程获取的所有锁,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。 suspend() 方法容易发生死锁。调用 suspend() 的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被 “挂 起” 的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用原创 2020-11-17 17:10:08 · 365 阅读 · 0 评论 -
RabbitMQ相关简介
一、简介原创 2020-11-06 09:27:09 · 160 阅读 · 0 评论 -
Kubernetes 简介
一、简介原创 2020-11-05 14:44:52 · 291 阅读 · 2 评论 -
Mac Idea 日常使用快捷键
一、Mac Idea常用快捷键1.删除无应用的包:control+option+o2.抛异常:option+command+t原创 2020-11-04 16:10:43 · 151 阅读 · 0 评论 -
Flink
一、简介1.初始flink Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。原创 2020-07-16 18:01:49 · 132 阅读 · 0 评论 -
Java集成presto查询
一、Java集成presto1.pom文件引入相关jar <dependency> <groupId>com.facebook.presto</groupId> <artifactId>presto-jdbc</artifactId> <version>0.234.1</version> </dependency>原创 2020-06-24 10:13:59 · 3652 阅读 · 1 评论 -
JAVA实现文件压缩与上传FTP
一、文件压缩1.pom文件引入相关jar<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version> </dependency> <dependency&原创 2020-06-24 09:44:09 · 2776 阅读 · 2 评论 -
apache-atlas-2.0.0安装
一、前提条件1.安装jdk1.82.安装maven3.1以上版本二、资源下载1.maven下载 apache-maven-3.6.3-bin.tar.gz2.atlas下载 apache-atlas-2.0.0-sources.tar.gz三、安装步骤1.解压maventar -zxvf apache-maven-3.6.3-bin.tar.gz2.配置maven环境变量v...原创 2020-04-28 14:38:26 · 1286 阅读 · 0 评论 -
Spark简介
一、spark简介1、概述 Spark是一种快速、通用、可扩展的大数据分析引擎,项目是用Scala进行编写。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLib、SparkR等子项目,Spark是基于内存计算的大数据并行计算框架。除了扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算...原创 2020-04-21 17:35:15 · 1459 阅读 · 0 评论 -
Hadoop介绍
一、Hadoop1、Hadoop发展史 由Doug Cutting根据Google 的3 篇论文 Hadoop (HDFS MapReduce Hbase)编写而成,使用java语言编写,是一个分布式的大数据处理框架,它有很好的伸缩性,可扩展性,编程模型很简单。2、概念 HDFSHadoop是一个分布式的大数据处理框架,它有很好的伸缩性,可扩展性,编程模型很简单.3、 Hadoo...原创 2019-12-18 19:49:45 · 250 阅读 · 0 评论 -
kafka安装以及使用指南
kfka总结一、什么是KafkaKafka是一种高性能、低延迟、具备日志存储、备份和传播功能的分布式文件系统。Kafka是一个分布式流处理平台kafka最初是LinkedIn的一个内部基础设施系统。最初开发的起因是,LinkedIn虽然有了数据库和其他系统可以用来存储数据,但是缺乏一个可以帮助处理持续数据流的组件。所以在设计理念上,开发者不想只是开发一个能够存储数据的系统,如关系数据库、...原创 2019-12-18 14:46:05 · 448 阅读 · 0 评论 -
Redis常用知识
一.redis1、什么是 Redis?简述它的优缺点? Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的Key-Valu...原创 2019-12-17 10:00:14 · 352 阅读 · 0 评论 -
docker安装mysql
一、docker安装mysql1、拉取mysql镜像docker pull mysql:latestLast login: Thu Dec 5 21:34:43 2019 from 10.0.112.33[root@server-5fb2dede-884d-4444-b54f-8cabb2dcc5ee ~]# [root@server-5fb2dede-884d-4444-b54f-8...原创 2019-12-06 11:41:25 · 139 阅读 · 0 评论 -
LCN框架介绍
LCN框架介绍一、 基本概念 随着互联化的蔓延,各种项目都逐渐向分布式服务做转换。如今微服务已经普遍存在,本地事务已经无法满足分布式的要求,由此分布式事务问题诞生。 分布式事务被称为世界性的难题,目前分布式事务存在两大理论依据:CAP定律 BASE理论。1. CAP理论 这个定理的内容是指的是在一个分布式系统中、Consistency(一致性)、 Availability(...原创 2019-11-04 09:00:48 · 3210 阅读 · 0 评论 -
分布式事务框架seata介绍
分布式事务框架seata介绍一 、 事务特性(ACID)1、原子性(A)在整个事务中的所有操作,要么全部完成,要么全部不做,没有中间状态。对于事务在执行中发生错误,所有的操作都会被回滚,整个事务就像从没被执行过一样。2、一致性(C)事务的执行必须保证系统的一致性3、隔离性(I)所谓的隔离性就是说,事务与事务之间不会互相影响,一个事务的中间状态不会被其他事务感知。4、持久性(D)所...原创 2019-11-01 19:34:04 · 1688 阅读 · 0 评论 -
springcloud中Feign调用常见问题
springcloud中fegin调用常见问题注: 本文基于Springcloud Edgware版本一、fegin调用首次失败问题1、Fegin简介:feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解,Feign 整合了Ribbon。2、原因分析:feg...原创 2019-08-07 09:57:19 · 13887 阅读 · 1 评论 -
Docker
Docker简介一、简介1、官方网站:https://www.docker.com/2、简单介绍: Docker 是一个开源的应用容器引擎(基于go语言开发),让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。3、Docker三要素3.1镜像(images):其本质一个只读...原创 2019-08-09 15:47:56 · 109 阅读 · 0 评论 -
Java8特性
标题 java8的一些新语法练习一、接口变化1、接口中允许定义静态方法和默认方法 传统接口扩展成本大,不利于升级改造,在java8中可以添加默认实现,增加接口的灵活性。public interface AInterface { void m1(); void m2(); /** * java8中允许有静态方法,方便接口版本的向后兼容 *...原创 2019-08-07 18:27:09 · 109 阅读 · 0 评论 -
mysql优化
Mysql优化一.mysql索引简介1.1、单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引。(1)、普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。(2)、唯一索引:索引列中的值必须是唯一的,但是允许为值。(3)、主键索引:是一种特殊的唯一索引,不允许有空值。1.2、组合索引:在表中的多个字段组...原创 2019-09-29 11:23:17 · 174 阅读 · 0 评论 -
JSR303校验框架介绍
JSR303校验框架介绍一.JSR303 校验框架介绍:是javaEE开发的规范,JSR303 用于对JavaBean 中的字段的值进行验证,使得验证逻辑从业务代码中脱离出来.是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回二.JSR303 校验框架注解类:@NotNull 注解元素必须是非空@Null 注解元素必须是空@Digits&...原创 2019-09-29 13:54:03 · 928 阅读 · 0 评论 -
Java并发总结
Java并发总结日常总结一.多线程并发编程1、如何控制线程执行顺序 通过join()方法,让主线程等待子线程结束以后才能继续进行 通过Executors.newSingleThreadExecutor()这个线程池,因为它有FIFO机制2、volatile和synchronized区别(1) JMM(Iava内存模型) Java Memory Model:并发过程中如何处理可...原创 2019-10-11 12:36:03 · 151 阅读 · 0 评论 -
JVM内存结构
JVM内存结构一、JVM简介 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。...原创 2019-08-09 10:27:40 · 495 阅读 · 2 评论