12 2021 档案

摘要:Kosmos distributed file system,简称KFS,是一个类GFS的分布式文件系统,被设计用于分布式的结构化存储。下面将对KFS的体系结构进行简单介绍,最后给出一个使用KFS C++ API的示例。 1. KFS体系结构 KFS和GFS的整体结构类似,图中所示为GFS的体系结构 阅读全文
posted @ 2021-12-26 21:58 hanease 阅读(864) 评论(0) 推荐(0) 编辑
摘要:storm简介 场景 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这个宝贝马上就可以被卖家搜索出来、点击、购买啦,相反,如果这个宝贝要等到第二天或 阅读全文
posted @ 2021-12-26 21:47 hanease 阅读(230) 评论(0) 推荐(0) 编辑
摘要:在介绍MVCC概念之前,我们先来想一下数据库系统里的一个问题:假设有多个用户同时读写数据库里的一行记录,那么怎么保证数据的一致性呢?一个基本的解决方法是对这一行记录加上一把锁,将不同用户对同一行记录的读写操作完全串行化执行,由于同一时刻只有一个用户在操作,因此一致性不存在问题。但是,它存在明显的性能 阅读全文
posted @ 2021-12-26 21:44 hanease 阅读(298) 评论(0) 推荐(0) 编辑
摘要:Java架构师需要掌握的技术栈 阅读全文
posted @ 2021-12-24 21:46 hanease 阅读(192) 评论(0) 推荐(0) 编辑
摘要:1 java基础: 1.1 算法 1.1 排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序 1.2 二叉查找树、红黑树、B树、B+树、LSM树(分别有对应的应用,数据库、HBase) 1.3 BitSet解决数据重复和是否存在等问题 1.2 基本 2.1 阅读全文
posted @ 2021-12-24 21:35 hanease 阅读(218) 评论(0) 推荐(0) 编辑
摘要:- - -计算机技术演化- - -1 编程语言演化1.1 写在最前 此文用于个人总结,串接知识点 1.2 汇编 举例:mov 、add 特点:程序量很大,几百行、几千行乃至几万行 1.3 VB->C->C++ 面向过程->面向对象 特点:goto关键字、指针、内存管理、数据类型 1.4 Java(S 阅读全文
posted @ 2021-12-24 21:33 hanease 阅读(446) 评论(0) 推荐(0) 编辑
摘要:《高性能的RTC服务器OpenFire》—第一章部署与源码调试 前言 OpenFire是什么,以及它能做什么?或许这是许多开发人员最关心的一个话题。简单来说,OpenFire是一个采用纯Java语言编写(核心架构使用Mina构建)的开源RTC(Real-Time Communications,实时协 阅读全文
posted @ 2021-12-24 21:24 hanease 阅读(2112) 评论(0) 推荐(0) 编辑
摘要:今天主要分享常见的存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)等,以及最常用的MyISAM与InnoDB两个引擎 ,文章尾部有两者的详细比较。 MySQL常用存储引擎介绍 1.InnoDB 引擎(MySQL5.5以后默认使用) MySQL 阅读全文
posted @ 2021-12-24 21:17 hanease 阅读(200) 评论(0) 推荐(0) 编辑
摘要:查找 查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 在互联网上查找信息是我们的家常便饭。所有这些需要被查的数据所在的集合,我们给它一个统称叫查找表。 查找表(Search Table)是由同一类型的数据元素(或记录)构成的集合。关键字(K 阅读全文
posted @ 2021-12-24 20:57 hanease 阅读(799) 评论(0) 推荐(0) 编辑
摘要:一、所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀算 阅读全文
posted @ 2021-12-24 20:22 hanease 阅读(326) 评论(0) 推荐(0) 编辑
摘要:UML(Unified Modeling Language)统一建模语言。包括以下几个重要功能: 可视化功能(Visualizing) 说明功能(specifying) 建造功能(Construting) 建文档功能(Documenting) UML包括: 使用案例图(User case diagr 阅读全文
posted @ 2021-12-24 16:37 hanease 阅读(116) 评论(0) 推荐(0) 编辑
摘要:ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图。 TCP/IP参考模型的层次结构 TCP/IP协议栈是美国国防部高级研究计划局计算机网(Advanced 阅读全文
posted @ 2021-12-24 16:31 hanease 阅读(582) 评论(0) 推荐(0) 编辑
摘要:Spring中提供了4种不同形式的数据源配置方式: 1、Spring自带的数据源(DriverMangerDataSource); 2、DBCP数据源; 3、C3P0数据源; 4、JNDI数据源。 以上数据源配置需要用的Jar包在http://www.java2s.com/Code/Jar/c/Ca 阅读全文
posted @ 2021-12-24 16:05 hanease 阅读(414) 评论(0) 推荐(0) 编辑
摘要:1. 使用Spring注解来注入属性1.1. 使用注解以前我们是怎样注入属性的类的实现: public class UserManagerImpl implements UserManager { private UserDao userDao; public void setUserDao(Use 阅读全文
posted @ 2021-12-24 16:03 hanease 阅读(130) 评论(0) 推荐(0) 编辑
摘要:Structs1+spring+Hibernate Structs 相当于mvc设计模式中V.C,即jsp页面和Servlet; spring 管理业务逻辑,即Service; Hibernate 管理DAO,持久层; 首先讲一下Hibernate和spring的整合: 1.加入相关的jar:mys 阅读全文
posted @ 2021-12-24 16:02 hanease 阅读(41) 评论(0) 推荐(0) 编辑
摘要:1.什么是缓存? 缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用程序的运行性能。Hibernate在进行读取数据的时候,根据缓存机制在相应的缓存中查询,如果在缓存中找到了需要的数据(我们把这称做“缓存 阅读全文
posted @ 2021-12-24 16:01 hanease 阅读(590) 评论(0) 推荐(0) 编辑
摘要:什么是Struts 2拦截器? 从软件构架上来说,拦截器是实现了面向方面编程的组件。它将影响了多个业务对象的公共行为封装到一个个可重用的模块,减少了系统的重复代码,实现功能的高度内聚,确保了业务对象的整洁和纯度。 从Java代码上来说,它就是一个普度的Java对象,它只需要实现一个名为Interce 阅读全文
posted @ 2021-12-24 15:55 hanease 阅读(472) 评论(0) 推荐(0) 编辑
摘要:Struts2 在项目中用到的核心是拦截器interceptor,OGNL(Object Graph navigation Language)对象图导航语言(用来操作ValueStack里面的数据),Value Stack和ActionContext。strut2是基于WebWork,WebWork 阅读全文
posted @ 2021-12-24 15:53 hanease 阅读(51) 评论(0) 推荐(0) 编辑
摘要:项目的目录 1.配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml 阅读全文
posted @ 2021-12-24 15:36 hanease 阅读(33) 评论(0) 推荐(0) 编辑
摘要:MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现。 一、MyBatis的框架设计 注:上图很大程度上参考了ite 阅读全文
posted @ 2021-12-24 15:32 hanease 阅读(144) 评论(0) 推荐(0) 编辑
摘要:l JAVA平台异步消息模块 JAVA平台异步消息模块,是一个针对RabbitMQ的消息发送及处理封装,包含消息的配置、发送、接收、失败重试、日志记录等,总共分为4个部分: 1)RabbitMQ访问封装:JAMQP(Jar包) 2)消息模块公共对象、配置读取及接口定义:JMSG(Jar包) 3)消息 阅读全文
posted @ 2021-12-24 15:29 hanease 阅读(3051) 评论(0) 推荐(0) 编辑
摘要:一:Kafka简介 Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 Kafka最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。主要应用场景有:日志收集系统和消 阅读全文
posted @ 2021-12-23 22:14 hanease 阅读(809) 评论(0) 推荐(0) 编辑
摘要:每个kafka broker中配置文件server.properties默认必须配置的属性如下: broker.id=0num.network.threads=2num.io.threads=8socket.send.buffer.bytes=1048576socket.receive.buffer 阅读全文
posted @ 2021-12-23 22:04 hanease 阅读(659) 评论(0) 推荐(0) 编辑
摘要:引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息。 1. Content-Type Medi 阅读全文
posted @ 2021-12-22 22:33 hanease 阅读(163) 评论(0) 推荐(0) 编辑
摘要:UDP传输:面向无连接的协议,不可靠,只是把应用程序传给IP层的数据报包发送出去,不保证发送出去的数据报包能到达目的地。不用再客户端和服务器端建立连接,没有超时重发等机制,传输速度快是它的优点。就像寄信,写好信放到邮箱桶里面,既不能保证信件在邮递过程中不丢失,也不能保证信件是按顺序寄到目的地的。 看 阅读全文
posted @ 2021-12-22 22:32 hanease 阅读(64) 评论(0) 推荐(0) 编辑
摘要:问题: 在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法? 答案是可以的,JAVA提供一种反射机制可以实现。 目录 什么是JAVA的反射机制 JDK中提供的Reflection API JAVA反射机制提供了什么功能 获取类的Class对象 获取类的Fields 获取类的Meth 阅读全文
posted @ 2021-12-22 22:19 hanease 阅读(24) 评论(0) 推荐(0) 编辑
摘要:ConcurrentHashMap结构图如下: ConcurrentHashMap实现类图如下: segment的结构图如下: package concurrentMy.juc_collections.hashMap; import java.io.IOException; import java. 阅读全文
posted @ 2021-12-22 22:17 hanease 阅读(44) 评论(0) 推荐(0) 编辑
摘要:深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多 不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。 阅读全文
posted @ 2021-12-22 22:05 hanease 阅读(48) 评论(0) 推荐(0) 编辑
摘要:思考为什么要引入容器这个概念? Java有多种方式保存对象(应该是对象的引用),例如使用数组时保存一组对象中的最有效的方式,如果你想保存一组基本类型的数据,也推荐使用这种方式,但大家知道数组是具有固定尺寸的,你必须事先知道你要需要多少个对象。但是在一般的情况中,你在写程序中并不知道将需要多少个对象, 阅读全文
posted @ 2021-12-22 21:56 hanease 阅读(58) 评论(0) 推荐(0) 编辑
摘要:1.wait和notify,notifyAll: wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以可以被任意对象调用的方法,定义在Object基类中。 wait()方法:对此对象调用wait方法导致 阅读全文
posted @ 2021-12-22 21:51 hanease 阅读(67) 评论(0) 推荐(0) 编辑
摘要:java基础知识回顾之java Thread类学习(十)--线程的状态以及转化使用的方法介绍 线程的概述: 线程是程序的多个执行路径,执行调度的单位,依托于进程存在。线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间叫做线程栈,是建立线程的时候由系统分配的,主要用来保存线程内 阅读全文
posted @ 2021-12-22 21:51 hanease 阅读(54) 评论(0) 推荐(0) 编辑
摘要:上一节售票系统中我们发现,打印出了错票,0,-1,出现了多线程安全问题。我们分析为什么会发生多线程安全问题? 看下面线程的主要代码: @Override public void run() { // TODO Auto-generated method stub while(true){ if(ti 阅读全文
posted @ 2021-12-22 21:47 hanease 阅读(51) 评论(0) 推荐(0) 编辑
摘要:java基础知识回顾之java Thread类--java线程实现常见的两种方式(一) 创建线程的第一种方式: / * 步骤: * 1.继承Thread类 * 2. 重写Thread的run方法 * 目的:将自定义的代码存储在run方法中,运行自定义线程 * start 1.启动线程,2调用run方 阅读全文
posted @ 2021-12-22 21:44 hanease 阅读(55) 评论(0) 推荐(0) 编辑
摘要:前言ThreadPoolExecutor在concurrent包下,是我们最常用的类之一。无论是做大数据的,还是写业务开发,对其透彻的理解以及如何发挥更好的性能,成为了我们在更好的coding道路上必不可少的基础。 为什么用线程池?如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创 阅读全文
posted @ 2021-12-22 21:36 hanease 阅读(900) 评论(0) 推荐(0) 编辑
摘要:资料1 对于select和poll来说,所有文件描述符都是在用户态被加入其文件描述符集合的,每次调用都需要将整个集合拷贝到内核态;epoll则将整个文件描述符集合维护在内核态,每次添加文件描述符的时候都需要执行一个系统调用。系统调用的开销是很大的,而且在有很多短期活跃连接的情况下,epoll可能会慢 阅读全文
posted @ 2021-12-21 21:43 hanease 阅读(273) 评论(0) 推荐(0) 编辑
摘要:File类 是对文件系统中文件以及目录(文件夹)进行封装的对象,可以通过面向对象的思想来操作文件和目录(文件夹)。File类保存文件或目录的各种元素的信息,包括文件名,文件长度,最后修改日期,是否可读,获取当前文件的路径名,判断指定文件是否存在,获得当前文件的列表,创建、删除文件目录等方法。 /** 阅读全文
posted @ 2021-12-21 21:34 hanease 阅读(28) 评论(0) 推荐(0) 编辑
摘要:1.下载 http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz 最新版 解压: tar -zxvf hadoop-2.7.1.tar.gz 2.配置环境变量 user@EBJ1023.l 阅读全文
posted @ 2021-12-21 21:22 hanease 阅读(303) 评论(0) 推荐(0) 编辑
摘要:schema设计原则 前提条件 使用HBase Shell或者Java API的HBaseAdmin来创建和编辑HBase的Schema,当修改列簇时,建议先将这张表下线。 Configuration config = HBaseConfiguration.create(); HBaseAdmin 阅读全文
posted @ 2021-12-21 21:21 hanease 阅读(66) 评论(0) 推荐(0) 编辑
摘要:HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问。HBase的目标是存储并处理大型的数据。HBase是一个开源的,分布式的,多版本的,面向列的存储模型。它存储的是松散型数据。 HBase特性: 1 高可靠性 2 高效性 3 面向列 4 可伸缩 5 可在廉价PC 阅读全文
posted @ 2021-12-21 21:19 hanease 阅读(429) 评论(0) 推荐(0) 编辑
摘要:通过Shell工具可以对云数据库HBase进行数据管理,包括建表、插入数据、删除数据和删除表等操作,本文介绍Shell的基本使用命令。 访问配置 如果使用的是云数据库HBase标准版,基本环境的配置操作请参见使用HBase Shell访问HBase标准版。 如果使用的是云数据库HBase增强版,基本 阅读全文
posted @ 2021-12-21 21:17 hanease 阅读(70) 评论(0) 推荐(0) 编辑
摘要:引言之前详细写了一篇HBase过滤器的文章,今天把基础的表和数据相关操作补上。本文档 参考最新 (截止2014年7月16日)的 官方 Ref Guide、 Developer API编写 。所有代码均基于“hbase 0.96.2-hadoop2 ”版本编写,均实测通过。欢迎转载,请注明来源:htt 阅读全文
posted @ 2021-12-21 21:15 hanease 阅读(58) 评论(0) 推荐(0) 编辑
摘要:Android平台架构及特性 Android系统的底层是建立在Linux系统之上,改平台由操作系统、中间件、用户界面和应用软件四层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建。 好处:这种软件叠层结构使得层与层互相分离,明确各层的分工,这种分工保证了层与层之间的低耦合 阅读全文
posted @ 2021-12-21 20:59 hanease 阅读(1340) 评论(0) 推荐(0) 编辑
摘要:1.下列哪些语句关于内存回收的说明是正确的? (b ) A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2.下面异常是属于Runtime Exception 的是(abcd)(多选) A、A 阅读全文
posted @ 2021-12-21 20:47 hanease 阅读(224) 评论(0) 推荐(0) 编辑
摘要:ClustrixDB是一种集群式RDBMS,可确保事务处理符合ACID特性,同时可轻松的提供可扩展性和容错能力。 ClustrixDB集群由三个或更多节点(联网的同构服务器)组成。ClustrixDB使用无共享架构。集群中的每个节点可以执行任何读取或写入操作。如果要扩充数据库容量,只需添加更多节点即 阅读全文
posted @ 2021-12-20 21:38 hanease 阅读(86) 评论(0) 推荐(0) 编辑
摘要:随着企业中日益复杂与多变的需求,以及迅速扩展带来的海量数据的业务,IT部门需要将越来越多的信息提供给用户,同时在现今的全球经济背景环境下,IT部 门还需要在提供高效服务的同时,降低其设备与程序维护成本。SequoiaDB作为全球第一家企业级文档式非关系型数据库,则提供了诸如此类(高可扩展 性、高可用 阅读全文
posted @ 2021-12-20 21:34 hanease 阅读(125) 评论(0) 推荐(0) 编辑
摘要:起因 一直在思索MySQL成功的原因,所以向一些业界的朋友请教探讨,得出一点极为简单的东西如下: 总结: MySQL的成功是随同互联网成长、LAMP成长、MySQL的DBA成长而成长的(功能逐步完善),它突出的特点是:因简单而易用/免费/开源/因插件框架而易扩展/复制功能领先/性能好。 1 因简单而 阅读全文
posted @ 2021-12-20 21:26 hanease 阅读(539) 评论(0) 推荐(0) 编辑
摘要:面向对象的数据库db4o: 初识db4o 2021-01-11 23:18:34 阅读数 9211 收藏 0 前言 业界对持久存储领域的追求从未停止过,为了更方便、更容易地用对象表达我们的思维,开源领域和商业领域都涌现了许多新技术, ORM 的出现恰恰说明了这点。最近一年,业界也在反思,到底 ORM 阅读全文
posted @ 2021-12-20 21:21 hanease 阅读(165) 评论(0) 推荐(0) 编辑
摘要:背景 ENode是一个CQRS+Event Sourcing架构的开发框架,Event Sourcing需要持久化事件,事件可以持久化在DB,但是DB由于面向的是CRUD场景,是针对数据会不断修改或删除的场景,所以内部实现会比较复杂,性能也相对比较低。而Event Store实际上对数据只有新增和查 阅读全文
posted @ 2021-12-20 21:18 hanease 阅读(201) 评论(0) 推荐(0) 编辑
摘要:前言分析社会关系这类复杂图壮结构的海量数据,使用图形数据库(Graph DataBase)是最好的选择。– 作者:李祎 《程序员》介绍各种NoSQL 数据库的文章已经很多,不过大部分都是基于文档存储 (例如mongo DB)或键值(key-value) 存储(例如Redis 和Hbase)的。 本文 阅读全文
posted @ 2021-12-20 21:14 hanease 阅读(1075) 评论(0) 推荐(0) 编辑
摘要:neo4j是图数据库 初识neo4j,首先我们要知道neo4j是图数据库。我们平常用的数据库一般是RDBMS(关系型数据库),那么什么是图数据库呢?既然有了关系型数据库,那么为什么要有图数据库呢? 1.什么是图数据库简单来说:图形数据库(图形数据库也称为图形数据库管理系统或GDBMS。 图数据库的基 阅读全文
posted @ 2021-12-20 21:04 hanease 阅读(21686) 评论(0) 推荐(0) 编辑
摘要:1. 简介 本文主要介绍neo4j是如何将图数据保存在磁盘上的,采用的是什么存储方式。分析这种存储方式对进行图查询/遍历的影响。 2. 图数据库简介 生产环境中使用的图数据库主要有2种,分别是带标签的属性图(Labeled Property Graph)和资源描述框架RDF(Resource Des 阅读全文
posted @ 2021-12-20 20:51 hanease 阅读(3412) 评论(0) 推荐(0) 编辑
摘要:BigTable 其实就是 Google 设计的分布式结构化数据表. Bigtable 的设计动机: 需要存储的数据种类繁多,包括URL、网页内容、用户的个性化设置在内的数据都是Google需要经常处理的 需要存储的数据种类繁多海量的服务请求,Google运行着目前世界上最繁忙的系统,它每时每刻处理 阅读全文
posted @ 2021-12-19 21:59 hanease 阅读(430) 评论(0) 推荐(0) 编辑
摘要:Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作: 分布式实时文件存储,并将每一个字段都 阅读全文
posted @ 2021-12-19 21:56 hanease 阅读(114) 评论(0) 推荐(0) 编辑
摘要:简介 MongoDB 是一个基于分布式文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 查看官方网站 MongoDB特点 模式自由 :可以把不同结构的文档存储在同一个数据库里 面向集合的存储:适合存储 JSON风格文件的形式 完整 阅读全文
posted @ 2021-12-19 21:18 hanease 阅读(375) 评论(0) 推荐(0) 编辑
摘要:KeyDB项目是从redis fork出来的分支。众所周知redis是一个单线程的kv内存存储系统,而KeyDB在100%兼容redis API的情况下将redis改造成多线程。 多线程架构 线程模型 KeyDB将redis原来的主线程拆分成了主线程和worker线程。每个worker线程都是io线 阅读全文
posted @ 2021-12-19 21:05 hanease 阅读(230) 评论(0) 推荐(0) 编辑
摘要:什么是DynamoDB? DynamoDB 是一个你什么也不用管的 NoSql 数据库。记得给 AWS付账单就可以。 在2004年的时候, Amazon 发现 Oracle 数据库都不够用了。为了还能继续做生意。 AWS设计了一个 Key-Vale 存储系统。以希望能达到以下目的:高性能,可扩展性, 阅读全文
posted @ 2021-12-19 21:00 hanease 阅读(247) 评论(0) 推荐(0) 编辑
摘要:存储和访问数百PB的数据是一个非常大的挑战,开源的RocksDB就是FaceBook开放的一种嵌入式、持久化存储、KV型且非常适用于fast storage的存储引擎。 传统的数据访问都是RPC,但是这样的话访问速度会很慢,不适用于面向用户的实时访问的场景。随着fast storage的流行,越来越 阅读全文
posted @ 2021-12-19 20:59 hanease 阅读(503) 评论(0) 推荐(0) 编辑
摘要:HBase HBase 是 Apache Hadoop 中的一个子项目,属于 bigtable 的开源版本,所实现的语言为Java(故依赖 Java SDK)。HBase 依托于 Hadoop 的 HDFS(分布式文件系统)作为最基本存储基础单元。 HBase在列上实现了 BigTable 论文提到 阅读全文
posted @ 2021-12-14 22:13 hanease 阅读(501) 评论(0) 推荐(0) 编辑
摘要:1.快速排序描述 1.每一轮排序选择一个基准点(pivot)进行分区 1.让小于基准点的元素进入一个分区,大于基准点的元素进入另一个分区 2.当分区完成时,基准点元素的位置就是其最终位置 2.在子分区重复以上过程,直至子分区元素个数少于等于1,这体现的是分而治之的思想(divide-and-conq 阅读全文
posted @ 2021-12-14 22:06 hanease 阅读(208) 评论(0) 推荐(0) 编辑
摘要:1.基本数据结构 1. JDK1.7 数组 + 链表 2. JDK1.8 数组 + (链表 | 红黑树) 2.树化与退化 1.树化意义 1.红黑树用来避免Dos攻击,防止链表过长时性能下降,树化应该是偶然情况,是保底策略. 2.hash 表的查找,更新的时间复杂度是 O(1),而红黑树的查找,更新的 阅读全文
posted @ 2021-12-14 22:03 hanease 阅读(45) 评论(0) 推荐(0) 编辑
摘要:1、查询SQL尽量不要使用select *,而是select具体字段。 反例子: select * from employee; 正例子: select id,name from employee; 理由: 只取需要的字段,节省资源、减少网络开销。 select * 进行查询时,很可能就不会使用到覆 阅读全文
posted @ 2021-12-14 22:02 hanease 阅读(37) 评论(0) 推荐(0) 编辑
摘要:拉取 MySQL 容器镜像 docker pull mysql:5.7 这里我使用的是 5.7 版本,如果你想要拉取最新版本的镜像,可以使用: docker pull mysql:latest 下载完成之后我们可以先查看一下镜像是拉取成功 docker images REPOSITORY TAG I 阅读全文
posted @ 2021-12-14 22:01 hanease 阅读(221) 评论(0) 推荐(0) 编辑
摘要:一,Docker简介百科说:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 看起来有点雾,用过虚拟机的应该对虚拟化技术有点印象,不知道也没关系, 阅读全文
posted @ 2021-12-14 22:00 hanease 阅读(200) 评论(0) 推荐(0) 编辑
摘要:ELK是由 Elasticsearch、Logstash和Kibana 三部分组件组成。 Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 Logstash 是一个完全开源的工具, 阅读全文
posted @ 2021-12-14 21:59 hanease 阅读(779) 评论(0) 推荐(0) 编辑
摘要:1.1 拉取Jenkins镜像 进入官网:https://jenkins.io/download/点击Docker进入Docker Hub 我们这里选择jenkins/jenkins:lts版本的Jenkins,因为Jenkins:latest版本是官方版本,而且是英文的,下载插件什么的因为墙的各种 阅读全文
posted @ 2021-12-14 21:56 hanease 阅读(3979) 评论(0) 推荐(3) 编辑
摘要:在过往的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。 首先说明一下:任何技术的出现都是为了解决某一类问题的,如果在此基础上再建立奇技淫巧,不如回 阅读全文
posted @ 2021-12-14 21:55 hanease 阅读(90) 评论(0) 推荐(0) 编辑
摘要:cron表达式用于配置cronTrigger的实例。cron表达式实际上是由七个子表达式组成。这些表达式之间用空格分隔。 1.Seconds (秒)2.Minutes(分)3.Hours(小时)4.Day-of-Month (天)5.Month(月)6.Day-of-Week (周)7.Year(年 阅读全文
posted @ 2021-12-14 21:53 hanease 阅读(1244) 评论(0) 推荐(0) 编辑
摘要:目录 1. 引言 2. 动态数据源流程说明 3. 实现动态数据源 3.1 说明及数据源配置 3.1.1 包结构说明 3.1.2 数据库连接信息配置 3.1.3 数据源配置 3.2 动态数据源设置 3.2.1 动态数据源配置 3.2.2 动态选择数据源 3.2.3 动态数据源使用 3.3 使用 AOP 阅读全文
posted @ 2021-12-14 21:51 hanease 阅读(2401) 评论(0) 推荐(0) 编辑
摘要:一、事务 事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。 编程式事务:是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例: try { //TODO something transactionManager.co 阅读全文
posted @ 2021-12-14 21:47 hanease 阅读(83) 评论(0) 推荐(0) 编辑
摘要:1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。 2.IO流的分类 图示:(主要IO流) 3.字节流 (1).字节流基类 1).InputStream InputStream:字节输入流基类,抽象类是 阅读全文
posted @ 2021-12-14 21:45 hanease 阅读(207) 评论(0) 推荐(0) 编辑
摘要:概要 防盗链 根据文件类型设置过期时间 静态资源访问 日志配置 日志字段说明 access_log 访问日志 error_log 日志 日志切割 反向代理 禁止指定user_agent nginx访问控制 负载均衡 防盗链 location ~* \.(gif|jpg|png)$ { # 只允许 1 阅读全文
posted @ 2021-12-14 21:43 hanease 阅读(545) 评论(0) 推荐(0) 编辑
摘要:一、什么是跨域访问 说到跨域访问,必须先解释一个名词:同源策略。所谓同源策略就是在浏览器端出于安全考量,向服务端发起请求必须满足:协议相同、Host(ip)相同、端口相同的条件,否则访问将被禁止,该访问也就被称为跨域访问。虽然跨域访问被禁止之后,可以在一定程度上提高了应用的安全性,但也为开发带来了一 阅读全文
posted @ 2021-12-14 21:40 hanease 阅读(861) 评论(0) 推荐(0) 编辑
摘要:字符串函数 ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2'); -> 50 mysql> select ASCII(2); -> 50 mysql> select ASCII('dete'); -> 100 O 阅读全文
posted @ 2021-12-14 21:37 hanease 阅读(633) 评论(0) 推荐(0) 编辑
摘要:在Spring Boot中集成Mongodb非常简单,只需要加入Mongodb的Starter包即可,代码如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data 阅读全文
posted @ 2021-12-14 21:33 hanease 阅读(500) 评论(0) 推荐(0) 编辑
摘要:Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理。同样的,如果你现在依旧在项目中使用传统Date、Calendar和SimpleDateFormat等API来处理日期相关操作,这篇文章你一定不要错过。来刷新你的知识库吧! 背景 Java对日期、日历及时间的 阅读全文
posted @ 2021-12-14 21:25 hanease 阅读(90) 评论(0) 推荐(0) 编辑
摘要:1. 创建 1.1 创建数据库 语法:create database db_name 示例:创建应用数据库 awesome_app sqlcreate database `awesome_app` 复制代码 1.2 创建表格 语法:create table table_name ( ... colu 阅读全文
posted @ 2021-12-14 21:22 hanease 阅读(39) 评论(0) 推荐(0) 编辑
摘要:1.NeurIPS2020 | Google《图学习与挖掘》综述教程,311页ppt+教程 总:https://mp.weixin.qq.com/s/Jj7qwJysbO_B1zo2uTidrg 分1:https://gm-neurips-2020.github.io/ 分2:PPT下载链接: ht 阅读全文
posted @ 2021-12-14 21:13 hanease 阅读(4322) 评论(0) 推荐(0) 编辑
摘要:摘要 以下所谈及的软件体系结构是定义了一个框架,通过架构风格来理解软件架构,展示了使用架构风格来指导基于网络应用的架构设计。根据不同的架构风格在为分布式超媒体设计的架构中产生的架构属性,来对这些架构风格进行分类。然后是REST(表述性状态移交)架构风格,描述使用 REST 来指导现代 Web 架构的 阅读全文
posted @ 2021-12-14 21:12 hanease 阅读(567) 评论(0) 推荐(0) 编辑
摘要:前言 这套Base Admin是一套简单通用的后台管理系统,主要功能有:权限管理、菜单管理、用户管理,系统设置、实时日志,实时监控,API加密,以及登录用户修改密码、配置个性菜单等。 技术栈 前端:layui java后端:SpringBoot + Thymeleaf + WebSocket + S 阅读全文
posted @ 2021-12-14 21:03 hanease 阅读(281) 评论(0) 推荐(0) 编辑
摘要:【开源】10大后台开源项目 作者 | SevDot 链接 | www.jianshu.com/p/3bc7404af887 Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我 阅读全文
posted @ 2021-12-11 21:09 hanease 阅读(107) 评论(0) 推荐(0) 编辑
摘要:今天回顾的内容,可能相对于前面的内容来说在理解上需要花费一点功夫,但面向对象也是属于打基础的部分,学好虽然不能够加分,但是没有掌握到这方面的知识,在后续的基础学习中,会有一些问题。那,我们开始回顾今天的内容吧!! 1. 构造方法 特点:与类同名而没有返回值类型 作用:创建对象 package cn. 阅读全文
posted @ 2021-12-11 21:07 hanease 阅读(70) 评论(0) 推荐(0) 编辑
摘要:今天主要回顾一下 static 和 final 这两个关键字。 1. static - 静态 修饰符 - 用于修饰数据(变量、对象)、方法、代码块以及内部类。 1.1 静态变量 用static修饰变量,称之为静态变量,也叫类变量。在类加载的时候加载到了方法区,并且在方法区中被赋予了默认值。静态变量是 阅读全文
posted @ 2021-12-11 21:06 hanease 阅读(398) 评论(0) 推荐(0) 编辑
摘要:Object 顶级父类。任何一个类都将 Object 作为父类,也就意味着任何一个对象都可以赋值给 Object 对象。Object 类也是 Java 中唯一的一个没有父类的类。 (方法默认是 public 的,下面的是返回值类型) 重要方法 clone() 如果一个对象要想被克隆,那么这个对象对应 阅读全文
posted @ 2021-12-11 21:03 hanease 阅读(55) 评论(0) 推荐(0) 编辑
摘要:1. 包装类 (基本类型中没有多少我们能够使用的方法和属性,为了便捷我们需要自己去写) 针对每一种基本类型提供了对应的类的形式 包装类 byte short int long float double char boolean void Byte Short Integer Long Float D 阅读全文
posted @ 2021-12-11 21:02 hanease 阅读(114) 评论(0) 推荐(0) 编辑
摘要:1. 字符流 1.1字符输入流 - Reader - FileReader 涉及到连接的,用完了就要关闭。 **为什么read方法 返回的值是 int,而不是char?因为读到结尾的时候,char不好使,结尾 int 就为 -1。 案例:编写一个字符输入流,来读取外部文件中的数据 根据数据流动的方向 阅读全文
posted @ 2021-12-11 20:59 hanease 阅读(496) 评论(0) 推荐(0) 编辑
摘要:Java网络开发 - 网络地址 Java网络开发 - Socket编程 - UDP 编程 Java网络开发 - Socket 编程 - TCP 阅读全文
posted @ 2021-12-11 20:57 hanease 阅读(29) 评论(0) 推荐(0) 编辑
摘要:反射的理解 反射 - Class 类 反射 - Constructor 类 反射 - Fileds 类 反射 - Method 类 其实,Java 自 James Gosling 以来,告诉我们的不仅仅是一场技术的革命,更重要的,是他带给我们思维上的转变。很多的人学 Java,从入门到精通到卓越,或 阅读全文
posted @ 2021-12-11 20:55 hanease 阅读(37) 评论(0) 推荐(0) 编辑
摘要:一、增强for循环x必须实现过Iterable接口for(i in x){} 二、自动封箱拆箱byte - Byteshort - Shortint - Integerlong - Longfloat - Floatdouble - Doublechar - Characterboolean - B 阅读全文
posted @ 2021-12-11 20:54 hanease 阅读(59) 评论(0) 推荐(0) 编辑
摘要:WEB概述 WEB是什么 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上的资源分类 Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 动态web资源:指web 阅读全文
posted @ 2021-12-11 20:51 hanease 阅读(306) 评论(0) 推荐(0) 编辑
摘要:0.查看所有java进程GC情况:for i in `jps|egrep -v "Jps|Launcher" |cut -d" " -f1`;do pwdx $i; jstat -gcutil $i ;done1.统计每个java进程的线程数:for i in `ps aux|grep java|a 阅读全文
posted @ 2021-12-11 20:29 hanease 阅读(110) 评论(0) 推荐(0) 编辑
摘要:这篇文章翻译自http://www.thegeekstuff.com/2010/11/50-linux-commands/这些都是一些很常用的命令,这篇文章中每个命令都有一些简单的示例说明它的用法,对于想学习Unix/Linux的人,这些命令基本上都是需要掌握的: tar grep find ssh 阅读全文
posted @ 2021-12-11 20:27 hanease 阅读(117) 评论(0) 推荐(0) 编辑
摘要:目录 一、基本命令 1.1 关机和重启 1.2 帮助命令 二、目录操作命令 2.1 目录切换 cd 2.2 目录查看 ls [-al] 2.3 目录操作【增,删,改,查】 2.3.1 创建目录【增】 mkdir 2.3.2 删除目录或文件【删】rm 2.3.3 目录修改【改】mv 和 cp 2.3. 阅读全文
posted @ 2021-12-11 20:23 hanease 阅读(437) 评论(0) 推荐(0) 编辑
摘要:为什么你写的程序运行效率不高;为什么你的程序会OutOfMemory;为什么你的程序会经常OutOfMemory;看看你的编程习惯是否符合36计1.JVM 管理两种类型的内存:堆内存(heap),栈内存(stack),堆内在主要用来存储程序在运行时创建或实例化的对象与变量.而栈内存则是用来存储程序代 阅读全文
posted @ 2021-12-11 20:11 hanease 阅读(176) 评论(0) 推荐(0) 编辑
摘要:NoSQL第一部分 一、什么是NoSQL? 问题:12306在开始诞生的前几年,每到重大节假日,经常“瘫痪”,直接原因就是集中超负荷的访问量。技术原因是它在此期间所采用的国际著名的某大型关系型数据库产品。这里暴露出来的问题特点便是: (1) 传统大型关系型数据库无法更好地解决问题 (2) 在互联网上 阅读全文
posted @ 2021-12-11 19:44 hanease 阅读(1579) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示