- 博客(69)
- 收藏
- 关注
原创 Hadoop学习笔记(一)安装Hadoop单机版
资源下载常用的Hadoop发行版:/优点缺点Apache纯开源不同版本/不同框架之间整合 jar冲突CDH有比较完善的客户端cm、可以一键式安装升级cm不开源、与社区版本有些许出入Hortonworks原装Hadoop、纯开源、支持tez企业级安全不开源其中CDH占市场使用率的60%-70%,所以本次学习打算使用CDH的版本...
2020-02-18 15:55:39 245
原创 Nginx代理转发配置
server { listen 80; server_name www.xxxx.com; location / { proxy_set_header Host $host; proxy_set_header ...
2020-02-18 14:24:11 341
原创 《深入理解Java虚拟机》(四)--线程安全与锁优化(1)
线程安全Brian Goetz在《Java Concurrency In Practice》中提出线程安全的定义:当多个线程访问一个对象的时候,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进额外的同步,或者在调用方法进行任何其他的协调操作,调用这个对象的行为都可以获得正确结果,那么这个对象就是线程安全的。1/1 Java语言中的线程安全我们可以将Java语言中...
2020-02-18 13:55:08 163
原创 Android 自定义Loading
1.创建一个layoutdialog_loadding.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"...
2019-11-14 18:16:45 454
原创 Android 自定义颜色ProgressBar
创建一个drawableshape_progress_bar.xml<?xml version="1.0" encoding="utf-8"?><animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" ...
2019-11-14 18:03:40 239
原创 SpringBoot-MvcConfig.java
/** * mvc配置类 * @author: nss * @date: 2018/10/17 20:17 */@Configurationpublic class MvcConfig extends WebMvcConfigurerAdapter { private final ObjectMapper mapper; @Autowired ...
2019-07-24 14:41:20 251
原创 ResultMapUtil.java
package com.huazhu.user.utils;import java.lang.reflect.Field;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @author ruanruan * @since 2018-12-04 */public class R...
2019-07-19 12:17:10 255
原创 SpringBoot-pom.xml
<!--spring web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifac...
2019-07-18 16:23:32 96
原创 sprinboot 热加载
1/配置idea深度截图_选择区域_20181107152235.png深度截图_选择区域_20181107154446.png深度截图_选择区域_20181107154411.png2/pom依赖 <plugin> <groupId>org.springframew...
2018-11-07 15:53:40 97
原创 docker 安装mysql redis activemq rabbitmq
因为每次装完docke后都要安装很多东西,这里就做个记录1、mysqldocker pull mysql:5.7docker volume create v1docker run -d -it --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v v1:/var/lib/mysql --privileged m...
2018-09-21 11:18:21 113
原创 deepin linux 初始化开发环境 jdk 、maven、docker
每次重装系统都要把开发环境弄回来,这里就记录一下把1、jdk这里直接使用openjdk 就行了apt-cache search jdk //查询现有的jdkapt-get install openjdk-8-jdk //安装jdk8java -version //查看一下是否安装成功2、mavenapt-get install mavenmvn -version...
2018-09-21 11:05:41 108
原创 Deepin 与 Ubuntu 系统N卡登录卡死的解决办法
Deepin Linux 介绍深度公司介绍Deepin Linux 是一款国产的Linux系统,桌面效果特别的炫酷,而且对Windows上的大多数软件都支持(游戏除外,游戏是不可能游戏的)下面贴几张装好了Deepin 系统的桌面截图深度截图_选择区域_20180921092828.png深度截图_20180921002524.png...
2018-09-21 09:59:28 1009
原创 Docker-Windwos安装Docker客户端
默认大家都是win10专业版和企业版在安装docker之前 先开启Hyper-vimage.png电脑会重启几次然后可以去docker官网下载或者去我的百度云盘之后就可以安装了 很简单安装之后需要翻墙去 注册一个docker hub 的账号docker启动之后进行登录设置阿里云的docker仓库镜像image.png1、安装rabbi...
2018-08-22 23:07:59 122
原创 SpringBoot-Eureka配置
1.eurekaServer 配置启动类上加注解 @EnableEurekaServerapplication.yml配置server: port: 8761eureka: instance: hostname: localhost client: #不把自己注册进去 registerWithEureka: false #是否获取...
2018-08-22 17:12:11 228
原创 FastDFS简介
FastDFS由跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)构成。跟踪服务器Tracker Server和TFS的NameServer相似,负责接收客户端的请求,选择合适的组合StorageServer ,他们与StorageServer之间也用心跳机制来检查对方是否还活着。Tracker需要管理的信息也都放在...
2018-07-23 14:17:08 135
原创 TFS的安装
TFS要安装之前 先要安装一堆东西...以下是官网的文档官方文档我们先来安装最简单的依赖包automakeyum install automake16.noarchautoconfigwget http://ftp.gnu.org/gnu/autoconf/autoconf-2.64.tar.gztar zxvf autoconf-2.64.tar....
2018-07-22 23:00:00 222 1
原创 TFS的NameServer / DataServer / RsServer / MetaServer
NameServer中的BlockManage和Servermanage的介绍1.BlockManager 用来管理所有来自DataServer和Block的信息因为Block的数量非常多, 所以BlockManage将Block组织成一个HashMap的结构(它的桶的数量可以在参数 MAX_BLOCK_CHUNK_NUMS中设置).它还定义了一个双向队列,用于对要删除的B...
2018-07-22 22:45:56 242
原创 TFS的读写操作
TFS的写操作流程:只有当所有的DataServer都备份完成了 才会返回写入成功TFS写操作流程客户端首先向nameserver发起写请求,nameserver需要根据dataserver上的可写块,容量和负载加权平均来选择一个可写的block。并且在该block所在的多个dataserver中选择一个作为写入的master,这个选择过程也需要根据datase...
2018-07-22 22:31:55 250
原创 TFS介绍
简介TFS主要针对海量非结构化(结构化的数据是指像mysql中的数据,非结构化就是像NOSQL中的数据)的小数据,通常的文件大小不超过1M,可以满足对小文件存储的需求.采用了HA架构:HA架构就是高可用的缩写,有一个活动节点和备份节点,当活动节点挂了的时候,备份节点会监测到,然后代替活动节点进行工作.平滑扩容: 下面会说到扁平化数据组织结构,可将文件名映射到文件的物理地址...
2018-07-22 22:28:49 3658
原创 《深入理解Java虚拟机》(三)--Java内存模型与线程(3)
Java与线程并发并不一定要依赖多线程(比如PHP中很常见的多进程并发),但是Java里面谈论到并发,大多与线程脱不开关系。1/1 线程的实现主流操作系统都提供了线程实现,Java语言则提供了在不同硬件和操作系统平台下对线程操作的统一处理,每个已经执行start()且还未结束的java.lang.Thread类的实例就代表了一个线程,Thread类与大部分API有明显的差异,...
2018-06-03 02:04:23 86
原创 《深入理解Java虚拟机》(三)--Java内存模型与线程(2)
1/4 对于long和double变量的特殊规则Java内存模型于要求lock、unlock、read....等8个操作都具有原子性,但是对于64位的数据类型(long和double),在模型中定义了一条相对宽松的规定:允许虚拟机将没有被volatile修饰的64位变量划分成两次32位操作来进行,即允许虚拟机可以不保证64位数据类型的load、store、read、write这四...
2018-06-01 15:42:12 67
原创 《深入理解Java虚拟机》(二)--垃圾收集器与内存分配策略(4)
内存分配与回收策略对象的内存分配规则不是固定的,是取决于你使用的是哪种垃圾回收器组合和虚拟机中的内存参数,如果启动了本地线程分配缓冲,将按线程优先在TLAB(之前提到过)上分配,接下来将验证几种常见的分配策略基于JDK1.8(书上是1.7和我测试的结果完全不一样QAQ,这应该是因为使用的垃圾回收器不一样所导致的)。1/1 对象优先在Eden上分配堆中的分代如下图:...
2018-06-01 12:14:49 86
原创 《深入理解Java虚拟机》(三)--Java内存模型与线程(1)
Java内存模型Java的内存模型屏蔽掉了各种硬件和操作系统的内存访问差异,实现了Java跨平台的效果,C/C++语言使用的是物理硬件和操作系统的内存模型,所以不能实现跨平台。1/1 主内存与工作内存Java内存模型的主要目标是定义程序中各个变量的访问规则,这里说的变量包括实例字段、静态字段和构成数组对象的元素,但是不包括局部变量与方法参数,因为他们是线程私有的。Java内...
2018-06-01 00:00:10 77
原创 《深入理解Java虚拟机》(二)--垃圾收集器与内存分配策略(3)
垃圾收集器如果垃圾收集算法是内存回收的方法论,垃圾回收器就是内存回收的具体实现。JVM规范中没有对垃圾回收器的任何规定。这本书中讲了基于JDK1.7 update14之后的HotSpot虚拟机,这个虚拟机所包含的所有收集器如下图。HotSpot虚拟机的垃圾收集器图中展示了7种作用于不同分代的收集器,连线表示两个收集器之间可以搭配使用。收集器所在的区域表示的是它所...
2018-05-28 22:33:49 128
原创 《深入理解Java虚拟机》(二)--垃圾收集器与内存分配策略(2)
垃圾收集算法:1/1 标记-清除算法(Mark-Sweep):最基础的垃圾回收算法,它分为两个阶段,标记和清除:首先它会标记出所有需要回收的对象,在标记完成之后统一回收所有被标记对象,它的标记过程之前已经提到了。缺点:1、效率低:它的标记和清除两个过程效率都不高。2、空间问题:因为标记和清除之后会产生大量的不连续的片段,空间碎片太多可能会导致以后需要分配大对象的过程中,由...
2018-05-28 17:37:17 103
原创 买票
package com.wuhongyu.test1.test;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class Thhhhh implements Runnable{ private static int a = ...
2018-05-28 00:20:50 85
原创 JDBC
package com.wuhongyu.test1.jdbc;import java.sql.*;import java.util.ArrayList;import java.util.List;public class JDBC { private String url ="jdbc:mysql://localhost:3306/test"; pri...
2018-05-27 21:37:39 61
原创 Java NIO学习笔记(四)Selector
转自:并发编程网 – ifeve.com本文链接地址: Java NIO系列教程(六) Selector概述:Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。为什么使用Selector?仅用单个线程来处理多个Channels的好处...
2018-05-27 14:11:27 89
原创 Java NIO学习笔记(三)Channel
概述:Channel(通道)在前面也提到过,是NIO的三大组件之一,相当于BIO中的流,不一样的是,通道是双向的、可异步的、读写必须经过缓冲区的。二流是单向、同步的。Channel的一些实现:FileChannel(读写文件)DatagramChannel(UDP)SocketChannel(TCP客户端)ServerSocketChannel(TCP服务器端)Sca...
2018-05-27 13:56:42 119
原创 Java NIO学习笔记(二)Buffer
概述:Buffer是NIO中的缓冲区,它的本质是一块可读写的数据,从中读取数据的内存,被包装成NIO的Buffer。它可以读/写数据Buffer中的三个主要属性:Capacity(容量):Capacity很好理解,就是这个缓冲区所能最大写入的数据量是多少Position(位置):Position是一个指针,初始化的时候是0,当写入数据的时候,用来标记哪些数据可写,通过f...
2018-05-27 13:41:40 115
原创 Java NIO学习笔记(一)NIO概述
概述:Java NIO是JDK1.4以后出现的新IO,它是同步的非阻塞IO,它是面向缓冲区的IO,之前学习过的老IO叫做BIO,是同步阻塞IO,面向流。什么是同步非阻塞呢?阻塞其实说的是一种线程的状态,在BIO中,当一次IO读或者写的时候,当前线程是处于一个阻塞的状态,也就是当前线程不能干其他事情,只能等待读或者写完成。而非阻塞IO就是当线程发送一个读的命令之后,它会立即返回...
2018-05-27 13:21:05 113
原创 原型模式
参考Java知音:https://mp.weixin.qq.com/s/VPJXnviIDuk0Q7v68jA8zQ概述:原型模式就是复制现有的对象实例来创建一个新的对象实例实现:1、实现Cloneable接口:Cloneable接口的作用是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运...
2018-05-26 23:59:04 61
原创 《深入理解Java虚拟机》(二)--垃圾收集器与内存分配策略(1)
在Java虚拟机中如何判断对象是否“存活”和“死去”?下面就开始讲述我今天学到的两种算法:1/1引用计数算法(Reference Counting):概述:给对象中添加一个引用计数器,每当有一个地方引用它时,引用计数器就加一,每当有一个地方失去引用的时候,引用计数器就减一,任何时候,引用计数器为0的对象就不可能再被使用。优点:实现简单,判定效率很高,大部分情况下是一个不...
2018-05-26 22:50:53 67
原创 工厂模式
1、概述:工厂模式是Java中最常用的一种设计模式之一,它属于创建型模式,需要生成的对象叫做产品 ,生成对象的地方叫做工厂 。2、场景:任何需要创建复杂对象的地方,都可以使用工厂模式。使用new可以创建的地方不需要工厂模式,spring的IOC所使用的就是工厂模式。3、分类:3.1、简单工厂模式(也叫静态工厂模式)实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个...
2018-05-25 18:06:43 68
原创 《深入理解Java虚拟机》(一)--Java内存区域与内存溢出异常(2)
-2 HotSpot虚拟机对象探秘 -2.1 对象的创建 当虚拟机收到一条new指令的时候,首先检查常量池中是否有这个对象的引用,意思就是你这个对象的类型有没有。再检查一下这个类有没有加载,解析,和初始化过,如果没有的话就执行类加载(这个操作执行完毕之后,就可以确定对象分配的大小)。 JVM街道new指令之后的操作 ...
2018-05-25 13:58:38 94
原创 《深入理解Java虚拟机》(一)--Java内存区域与内存溢出异常(1)
- 1 运行时数据区域 图片发自简书App JVM在执行的过程中会把它所管理的内存划分为若干个不同的数据区域。根JVM规范,Java虚拟机包括以下几个运行时数据区-> - 1.1 程序计数器 程序计数器是当前线程所执行的字节码文件的行号指示器,字节码解释器是通过改变这个计数器的值来选取下一...
2018-05-25 01:48:40 120
原创 最大堆
package com.wuhongyu.heap;import java.util.ArrayList;/** * 最大堆 * @param <E> */public class MaxHeap<E extends Comparable<E>> { private ArrayList<E> data; publ...
2018-05-07 16:13:35 137
原创 二分搜索树
package com.wuhongyu.tree;public class BSTree<E extends Comparable<E>> { private class Node { E e; Node left; Node right; public Node() {} ...
2018-05-07 16:12:51 134
原创 虚拟头结点的链表
package com.wuhongyu.linkList;/** * 使用递归的方式添加和删除链表中的元素 * @param <E> */public class LinkList<E> { private class Node { public E e; public Node next; publ...
2018-05-07 16:11:58 1117
原创 循环队列
循环队列的入队和出队时间复杂度均为O(1)package com.wuhongyu.stackAndqueue;public class LoopQueue<E> implements Queue<E>{ private E[] data; private int size; //循环队列的头,尾 private int head...
2018-05-07 16:10:32 1047
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人