- 博客(52)
- 收藏
- 关注
原创 Java中多态的实现原理
1、什么是多态多态是一个类的多种形式;2、多态实现方式分为两种:编译时多态(静态多态--同名多参数) 和 运行时多态(动态多态--实现接口)3、多态实现原理通过invoke指令调用方法,基于class4、什么是方法表 方法表存放方法地址,通过invoke指令调用对应方法,如果没有重写方法调用父类里的方法...
2022-01-05 11:00:31
748
原创 validate实现登录验证码验证前后端实现
首先从前端说起:js端引用<script src="../static/ajax/libs/validate/jquery.validate.min.js" 和<script src="../static/ajax/libs/validate/messages_zh.min.js"html内容:<div class="row m-t" th:if="${captchaEnabled==true}"> <div class="col-xs-6"> ..
2021-04-12 21:42:56
1179
原创 2021-03-26
ipc.Client: Retrying connect to server: nn1.hadoop/20.48.5.12:8020. Already tried 0 time(s); retry 错误解决思路说下我的思路吧首先要求确定自己没动过配置文件;报错,端口8020访问被拒绝;那么就有个关键字8020看下哪些地方配置了8020端口,直接去配置文件中搜索我的是在 <name>dfs.namenode.rpc-address.ns1.nn1</n...
2021-03-26 11:13:04
396
1
原创 zookeeper环境搭建简记
一、准备3台机器执行一下操作:tar -xzf /tmp/zookeeper-3.4.8.tar.gz -C /usr/local/chown -R hadoop:hadoop /usr/local/zookeeper-3.4.8chmod -R 770 /usr/local/zookeeper-3.4.8ln -s /usr/local/zookeeper-3.4.8/ /usr/local/zookeeperchown -h hadoop:hadoop /usr/local...
2020-06-15 11:30:37
130
原创 hadoop基础环境搭建笔记
1、准备机器5台nn1,nn2,s1,s2,s3: nameNode(nn1,nn2) dataNode(s1,s2,s3) journalNode(s1,s2,s3) zookeeper(nn1,nn2,s1)2、yum阿里源下载并修改http://mirrors.aliyun.com/repo/Centos-7.repo cp Centos-7.repo /etc/yum.repos.d/ cd /etc/yum.repos.d/ mv CentOS-...
2020-06-15 11:06:00
235
原创 反射收集整理
概念比较清楚的理解如下,来源于:https://www.cnblogs.com/shiwanming/p/9821577.html首先我要简单的来说一下什么是Java的反射机制: 在Java里面一个类有两种状态--编译和运行状态,通常我们需要获取这个类的信息都是在编译阶段获得的,也就是直接点出来或者new出来,可是如果需要在类运行的阶段获得Java的类的信息的话,就需要用到Jav...
2020-02-28 15:48:47
111
原创 字符字节换算
什么是字节流?字节流--传输过程中,传输数据的最基本单位是字节的流。什么是字符流?字符流--传输过程中,传输数据的最基本单位是字符的流。1bit等于二进制的一位——即二进制的0或11字节等于8bit一个英文字母占一个字节...
2020-02-27 13:26:32
362
原创 JAVA关键字整理
assert:https://blog.youkuaiyun.com/jeikerxiao/article/details/82262487const: 可以忽略不计,几乎没什么用,网上查了一下说是和final一个作用default: https://blog.youkuaiyun.com/qq_35835624/article/details/80196932enum枚举: https://blo...
2020-02-24 17:51:39
255
原创 oracle管道函数基础框架
1、创建返回类型的objectCREATE OR REPLACE TYPE "OWB_aDWH"."FIND_aSUSPENSION_INFO" as object ( ID_BKE_aACCOUNTING VARCHAR2(100),--科目号 FND_SHT_aDESCRIPTION VARCHAR2(100), --科目描述L FND_LN...
2019-10-10 16:50:20
122
原创 pagehelper在Springboot中的简单应用
首先引入依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version>//版本可...
2019-09-25 09:10:13
178
原创 axios
InstallingUsing npm: $ npm install axios Using bower: $ bower install axios Using cdn: <script src="https://unpkg.com/axios/dist/axios.min.js"></script>...
2019-09-24 18:12:52
143
原创 跨域问题
跨域是什么: 域名和端口不同的服务之间针对ajax访问限制即跨域问题;解决办法Jsonp 利用script标签可以跨域原理实现,只支持get请求;nginx反向代理 利用反向代理把跨域为不跨域,支持各种请求方式!CORS 支持各种请求方式,在服务端进行控制,可自定义规则;但是会产生额外的请求;CORE跨域资源共享标准(...
2019-09-24 15:36:05
134
原创 oracle命令笔记
create tablespace AMDATA datafile 'H:\app\oracle_tablespace\amdataspace002' size 10000M;ccreate user amreport identified by amreport default tablespace AMDATA;
2019-09-20 17:25:55
112
原创 docker安装mysql、nexus、nginx 、redis安装指令记录
1、mysql安装:docker search mysqldocker pull mysqldocker run -p 4407:3306 --name mymysql -v /root/DockerSoft/Mysql/conf:/etc/mysql/conf.d -v /root/DockerSoft/Mysql/logs:/logs -v /root/DockerSoft/Mys...
2019-09-20 17:24:59
151
原创 统一异常处理
Spring在3.2版本增加了一个注解@ControllerAdvice,可以与@ExceptionHandler、@InitBinder、@ModelAttribute等注解注解配套使用 在独立的某个地方,比如单独一个类,定义一套对各种异常的处理机制,然后在类的签名加上注解@ControllerAdvice,统一对不同阶段的、不同异常进行处理。这就是统一异常处理的原理。...
2019-09-19 16:08:59
104
原创 ResponseEntity
ResponseEntity可以标识整个http相应,包括状态码、头部信息以及响应体内容:可以使用任意类型作为响应体; 可以通过编程方式指明响应状态,根据不同场景返回不同状态; 设置http响应头;ResponseEntity提供了两个内嵌的构建器接口: HeadersBuilder 和其子接口 BodyBuilder。因此我们能通过ResponseEntity的静态方法直接访问。也可以...
2019-09-19 10:55:19
1636
原创 静态资源cdn服务是什么
CDN 的全称是 Content Delivery Network,即内容分发网络。CDN 系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上;其目的是使用户可就近取得所需内容,解决 Internet 网络拥挤的状况,提高用户访问网站的响应速度。应该就是一个路由功能,能根据访问地址,进行负载均衡分...
2019-09-18 10:39:59
2066
原创 Zuul网关学习笔记
zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。Zuul包含了对请求的路由和过滤两个最主要的功能:认证和安全 识别每个需要认证的资源,拒绝不符合要求的请求。 性能监测 在服务边界追踪并统计数据,提供精确的生产视图。 动态路由 根据需要将请求动态路由到后端集群。 压力测试 逐渐增加对集群的流量以了解其性能。 负载卸载 预先...
2019-09-18 09:00:20
232
原创 feign的简单实现
Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。feign的使用:创建一个接口,在接口上添加一些注解;feign支持多种注解,例如feign自带的注解或者是jax-rs注解等。Spring cloud对feign进行了增强,使得feign支持了Springmvc注解,并且整合...
2019-09-17 16:57:53
885
原创 Eureka简单应用
Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合你需求的服务告诉你。同时,服务提供方与Eureka之间通过“心跳”机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。这就实现了服务的自动注册、发现、状态监控。 Eureka:就是服务注册中心(可以是一个集群...
2019-09-17 15:11:00
159
原创 docker上的mvn私服搭建及简单使用
温故而知新,可以为师矣!<<docker上安装mvn私服,首先需要有docker环境,登录root用户,确定yum的源最新yum update;以下直接上安装指令;1、yuminstall docker 注:安装过程中会缺少一些包或者插件,直接百度安装这些插件的yum指令就可以;2、修改/etc/selinux/config 文件将SELINUX=enfor...
2019-08-06 15:32:20
416
原创 ribbon负载均衡
负载均衡常见的有随机 (Random)、轮询 (RoundRobin)、一致性哈希 (ConsistentHash)、哈希 (Hash)、加权(Weighted)Eureka集成了ribbon负载均衡;ribbon 是Netflix公司开发的负载均衡器;Eureka中已经集成了Ribbon,所以可以无需引入下面这个新的依赖而进行直接的调用;1、依赖引入<dependency...
2019-05-29 18:29:07
144
原创 Hystrix熔断、服务降级、线程隔离
初识教程 声明下: 1、线程隔离已经在Hystrix内部实现了,所以这里只需要考虑熔断和降级问题; 2、Hystrix主要解决雪崩问题 3、当消费端的请求超过降级等待时间,进行降级返回; 4、默认情况下当连续请求20次,超时响应率达到百分之五...
2019-05-29 15:09:03
687
转载 ERROR in ch.qos.logback.core.joran.spi.Interpreter@8:17 - no applicable action for [Properties], cur
来源:https://blog.youkuaiyun.com/m0_37034294/article/details/82801294排除log包的冲突,并且检查对应标签;我比较喜欢统一排除:<dependency> <groupId>org.springframework.boot</groupId> <...
2019-04-15 12:32:27
16419
原创 nexus环境搭建及使用
一、安装步骤如下:1、首先下载安装包:https://www.sonatype.com/download-oss-sonatype ,就下载最新的就可以;2、解压到一个目录下 tar -xvf nexus-3.14.0-04-unix.tar.gz -o /data/nexus-3.14.0-04-unix.tar.gz3、配置环境变量,我是直接在root下的/root/.bas...
2019-01-21 09:45:31
5153
原创 ConcurrentMap、ConcurrentSkipListMap(支持并发排序功能,弥补ConcurrentHashMap)
并发类容器第一步:介绍下ConcurrentMap及其两个实现ConcurrentHashMap和ConcurrentSkipListMap一、ConcurrentMap接口下有两个重要的实现: ConcurrentHashMap——可以理解为hashTable或者hashMap Concur...
2018-09-26 09:58:23
4208
原创 笔记补充Netty-helloworld
1、服务端//1 创建2个线程,一个是负责接收客户端的连接。一个是负责进行数据传输的EventLoopGroup pGroup = new NioEventLoopGroup();EventLoopGroup cGroup = new NioEventLoopGroup();//2 创建服务器辅助类ServerBootstrap b = new ServerBootstrap();b...
2018-08-10 17:59:50
117
原创 AIO流程
1、创建线程池;2、创建线程组;3、创建服务器通道;4、绑定端口;5、传递CompletionHandler进行类似递归阻塞:Server端:assc.accept(this, new bhz.aio.ServerCompletionHandler());Client端(ServerCompletionHandler.java):attachment.assc.accept...
2018-08-10 17:35:00
308
原创 线程组和线程池的区别
经过网上一些资料查找,初步理解如下:1、线程组和线程池都是管理线程的策略;2、线程组中的线程之间可以跨线程修改数据,而线程组与线程组之间不可以跨线程组修改数据;3、线程池开始就创建一定量的线程,批量处理一类任务,等待任务的到来。任务执行完毕后,线程又可以执行其他的任务。等不再需要线程的时候,就销毁。...
2018-08-10 15:43:48
2249
原创 NIO大概流程
1、多个Client同时注册到多路复用器selector上;2、selector遍历所有注册的通道;3、查看通道状态(包括Connect、Accept、Read、Write);4、根据状态执行相应状态的操作;...
2018-08-09 17:55:23
1030
转载 Disruptor多线程多通道
long beginTime=System.currentTimeMillis(); int bufferSize=1024; ExecutorService executor=Executors.newFixedThreadPool(8); Disruptor<Trade> disruptor = new Disruptor<Trade&...
2018-08-03 17:23:13
561
原创 自解笔记Disruptor入门
1、创建LongEventpublic class LongEvent { private long value; public long getValue() { return value; } public void setValue(long value) { this.value = value; ...
2018-08-01 16:49:00
169
转载 自解ByteBuffer
ByteBuffer buffer = ByteBuffer.allocate(10);/*buffer.putLong(0,333);buffer.putLong(1,222);*/ System.out.println(buffer); System.out.println(buffer.position(1).position()); ...
2018-07-31 18:54:43
163
原创 自解锁读写锁ReentrantReadWriteLock、ReadLock、WriteLock
private ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();private ReadLock readLock = rwLock.readLock();private WriteLock writeLock = rwLock.writeLock();读读共享,写写互斥多个读的锁可以共同进行,多个写的锁必须同...
2018-07-30 16:53:18
256
原创 自解锁Lock、等待Condition 简记
private Lock lock = new ReentrantLock();private Condition condition = lock.newCondition();public void method1(){ try { lock.lock(); Thread.sleep(1000); condition.await(); System.out...
2018-07-30 16:38:22
152
原创 Semaphore
只能5个线程同时访问 final Semaphore semp = new Semaphore(5); ①获取1个许可semp.acquire(1);②访问完后,释放3个 semp.release(3);仨、释放个 semp.release();————①的作用是5/1=5次,也就是说最多能同时5个线程访问,②作用是释放3个线程执行;一般要正常工作release数值要大于ac...
2018-07-30 12:18:32
793
转载 CountDownLatch与CyclicBarrier、Future
1、final CountDownLatch countDown = new CountDownLatch(2);当参数是2的时候一个countDown.await();需要两个countDown.countDown();唤醒——一个线程或者两个线程皆可2、CyclicBarrier barrier = new CyclicBarrier(3);当参数是3时需要三个线程才能唤醒三个...
2018-07-30 09:38:25
313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人