自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ethan Mr.的博客

java,后端

  • 博客(158)
  • 收藏
  • 关注

原创 使用Zookeeper对集群节点进行管理

通过zookeeper可以模拟实现对集群节点上下线进行监测,当服务器节点上线时,作为临时节点注册到zookeeper中的/servers目录下,如/servers/hadoop102,而节点下线时临时节点就会从目录中删除。服务器3启动,发起一次选举。此时服务器1,2,3已经不是LOOKING状态,不会更改选票信息。如果当前节点失联,leader仍存在,虽然当前节点会试图去选举Leader,但与其他节点交换信息时会被告知当前服务器的Leader信息,然后重新和Leader机器建立连接,并进行状态同步即可。

2023-05-13 23:13:47 1250

原创 raft 协议和 zab 协议区别

然后才好在 synchronization 阶段将 quorum 里的其他机器的 log 都同步到一致。

2023-05-13 21:44:28 1264

原创 springcloud网关拦截+redis+自定义token做登录验证操作

网上看到的token做起来都太复杂,介绍说耗费的内存较大,写的封装方法非常多,看来看去非常不方便,自己就借助token思想,和网关拦截器组合操作的登录验证机制。1.下面这段代码就是用户请求,验证数据库是否有这个用户名和密码,用户登录成功与否,成功登录就生成token存储到redis里package gsa.rest.datacenter.rest.login;import gsa.base.common.Enum.StatusCode;import gsa.base.common.Utils.

2020-06-21 21:18:46 2416

原创 Elasticsearch基础与理论

介绍Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。基本概念先说Elasticsearch的文件存储,Elasticsearch

2020-06-01 10:06:34 565

原创 关于mobiscroll日期插件无法正确的选中默认日期

在使用这个插件的时候遇到了一个问题,所以记录一下1,先看一下错误的代码<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>mobiscroll</title> <meta name="fo...

2019-06-09 22:21:24 822

原创 关于Java中的Arrays.copyOfRange()方法

要使用这个方法,首先要import java.util.*;Arrays.copyOfRange(T[ ] original,int from,int to)将一个原始的数组original,从下标from开始复制,复制到上标to,生成一个新的数组。注意这里包括下标from,不包括上标to。...

2019-06-07 14:37:25 923

原创 java实现归并排序(思想与实现)

归并排序归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。归并排序的分析public class Merge{ public ...

2019-06-07 14:34:08 1898

原创 java中==和equals区别

一、==和equals的区别1. ==可以用来比较基本类型和引用类型,判断内容和内存地址2. equals只能用来比较引用类型,它只判断内容。该函数存在于老祖宗类 java.lang.Objectjava中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean他们之间的比较,应用双...

2019-06-03 00:40:33 277

原创 JAVA不可变类(immutable)机制与String的不可变性

一、不可变类简介不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、Long和String等。可变类:相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。二、不可变类的优点说完可变类和不可变类的区别,我们需要进一步了解为什么要有不可变类?这样的特性对JAVA来说带来怎样的好...

2019-05-22 00:16:35 160

原创 静态方法中不能new内部类的实例对象的总结

静态方法中不能new内部类的实例对象的总结 class Test{ public void main(String[] args){ A testA=new A(); //这里会出现问题 new Thread(new Runnable(){ public void run(){ testA.printou...

2018-12-24 01:13:13 789

原创 【面向对象】--静态类与非静态类的区别

静态类           静态类和非静态类重要的区别是在于静态类不能被实例化,也就是说不能使用  new 关键字创建静态类类型的变量。使用static关键字来声明静态类,这样的意义在于:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。 静态类的使用关键字:  static调用方式:&lt; 静态类名.静态方法 &gt;注意:   1.在静态...

2018-12-24 01:09:11 14581 5

原创 Timer定时器_配置 和 Springle@Scheduled注解

一、注解的方式(使用spring @Scheduled注解执行定时任务、 )   以前框架使用quartz框架执行定时调度问题、老大说这配置太麻烦、每个调度都需要多加在spring的配置中、能不能减少配置的量从而提高开发效率、最近看了看spring的 scheduled的使用注解的方式进行调度、感觉很方便、起码配置的东西少了很多、 所以留下来以备忘了、...

2018-12-22 00:44:35 914

原创 面试系列-40个Java多线程问题总结

这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。 40个问题汇总1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看...

2018-11-18 01:34:16 197

原创 mongodb与关系型数据库相比的优缺点

①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的较精确值。这在某些情况下,例 如通过ATM查看账户信息的时候很重要,但对于Wordnik来说,数据是不断更新和增长的,这种“较精确”的保证几乎没有任何意义,反而会产生很大的延 迟。他们需要的是一个“大约”的数字以及更快的处理速度。但某些情况下M...

2018-10-19 23:55:29 664

原创 程序员从初级到高级的成长路

程序员从初级到高级的蜕变软件开发是一个奇怪的行业,市场远远供不应求。这是一个已经存在多年的问题,而且随着时间的流逝,愈演愈烈。我们严重缺乏能够满足需求的人才。这个行业相当年轻。大多数软件项目是失败的。几乎所有的项目都会超出预算。我们解决问题的最佳指导方针可以归结为——“用一些通用方法去解决问题,当然这些方法常常不管用,于是,唯一能做的就是不断地尝试,逐个看看是否奏效”。现在我们把淫浸代码...

2018-09-08 12:56:54 730

原创 "use strict" 的目的是指定代码在严格条件下执行

JavaScript 严格模式(strict mode)即在严格的条件下运行。"use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。它不是一条语句,但是是一个字面量表达式,在 JavaScript 旧版本中会被忽略。"use strict" 的目的是指定代码在严格条件下执行。严格模式下你不能使用未声明的变量。 支持严格模式...

2018-09-02 21:16:15 205

原创 angularJS controller 控制器获取控制父子级标签

https://www.bokeyy.com/post/parent-child-controller-communication.html (译文)https://rclayton.silvrback.com/parent-child-controller-communication(原文) 我最近经在教很多个朋友 AngularJS,而他们几乎都问了同样一个问题:如何在 co...

2018-08-19 11:41:14 682

原创 AngularJs中的$scope与$rootScope

作为初次接触 AngularJS的新手,想要深层理解里面的内容短时间还是不可能的,所以标题写了浅谈字样,以下内容是参考各位大神以及相关书籍整理加个人理解,出现错误的地方请大家指正。   $scope(作用域),为AngularJS中MVC的核心,整理起来很麻烦, 看着大神们发的一些文章对于$scope的理解,有些方面还是看不懂,作为新手,应该站在新手的位置上去思考,所以这篇文章的目的,就是...

2018-08-18 22:16:27 14112 2

原创 Angularjs之模块(angular.module('myApp', [])参数)

在AngularJS中,模块是定义应用的最主要方式。模块包含了主要的应用代码。一个应用可以包含多个模块,每一个模块都包含了定义具体功能的代码。使用模块能给我们带来许多好处,比如:保持全局命名空间的清洁; 编写测试代码更容易,并能保持其清洁,以便更容易找到互相隔离的功能; 易于在不同应用间复用代码; 使应用能够以任意顺序加载代码的各个部分。AngularJS允许我们使用angular...

2018-08-18 21:08:25 3075

原创 java中递归三要素

递归三要素:一定有一种可以退出程序的情况; 总是在尝试将一个问题化简到更小的规模 父问题与子问题不能有重叠的部分

2018-08-05 23:24:40 1169

原创 深究AngularJS——AngularJS中的Controller(控制器)

先看个示例&lt;div ng-app="myApp" ng-controller="myCtrl"&gt; &lt;!-- 在该控制器内保存着如下两个Model里的数据 ng-model 指令用于双向绑定输入域到控制器的属性 --&gt; 第一个数字: &lt;input type="text" ng-model="first"&gt;&a

2018-07-31 00:09:07 5025

原创 JavaScript和angularJs语法中”use strict”详解:

如果给JavaScript和angularjs代码标志为“严格模式”,则其中运行的所有代码都必然是严格模式下的。其一:如果在语法检测时发现语法问题,则整个代码块失效,并导致一个语法异常。其二:如果在运行期出现了违反严格模式的代码,则抛出执行异常。注:经过测试IE6,7,8,9均不支持严格模式。JavaScript代码“严格模式”使用方法:严格模式需要使用字符串序列:"use ...

2018-07-29 17:44:49 609

原创 mysql中Timestamp,time,datetime 区别

TIMESTAMP[(M)]时间戳。范围是’1970-01-01 00:00:00’到2037年。TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。TIMESTAMP值返回后显示为’YYYY-MM-DD HH:MM:S...

2018-07-08 19:15:52 259

原创 单例模式

单例模式:是一种常用的软件设计模式,在它的核心结构中值包含一个被称为单例的特殊类。一个类只有一个实例,即一个类只有一个对象实例。  对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;售票时,一共有100张票,可有有多个窗口同时售票,但需要保证不要超售(这里的票数余量就是单例,售票涉及到多线程)。如果不是用机制对窗口对象进行唯一化将弹出多...

2018-07-04 14:12:31 144

原创 notify()与notifyAll()区别

notify():唤醒在此对象监视器上等待的单个线程。如果所有线程都在此对象上等待,则会选择唤醒其中一个线程。选择是任意性的,并在对实现做出决定时发生。线程通过调用其中一个 wait 方法,在对象的监视器上等待。直到当前线程放弃此对象上的锁定,才能继续执行被唤醒的线程。被唤醒的线程将以常规方式与在该对象上主动同步的其他所有线程进行竞争;例如,唤醒的线程在作为锁定此对象的下一个线程方面没有可靠的特权...

2018-07-01 15:34:29 176

原创 Java中23种设计模式--超快速入门及举例代码

java的设计模式大体上分为三大类:创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。设计模式遵循的原则有6个:1、开闭原则(...

2018-07-01 12:23:19 148

原创 java的设计模式,是什么?为什么要用设计模式

1设计模式是在软件工程实践过程中,程序员们总结出的良好的编程方法。使用设计模式能够增加系统的健壮性,易修改性和可扩展性,当你进行开发的软件规模比较大的时候,良好的设计模式会给编程带来便利,让系统更加稳定,这些在自己编写小程序的时候是体现不出来的。现在大多数框架都使用了很多设计模式,正是因为有了这些设计模式,才能让程序更好的工作,例如烟水晶框架的单例模式,struts的mvc模式,java类库中it...

2018-07-01 12:12:10 9766 5

原创 springboot的三种启动方式

一:IDE 运行Application这个类的main方法二:在springboot的应用的根目录下运行mvn spring-boot:run三:使用mvn install 生成jar后运行先到项目根目录mvn installcd targetjava -jar xxxx.jar1234...

2018-07-01 11:42:43 279

原创 新的注解

1.@Get是访问方式注解2.@Path是路径注解3. @Produces( { MediaType.APPLICATION_JSON}) 返回json类型数据 @Consumes({MediaType.APPLICATION_JSON})  接受Json数据并将其转换为Java对象差不多就这些吧。...

2018-06-29 14:35:25 208

原创 mybatis与oracle关系

Oracle语言oracle视图 相当于是多表联查根据具体业务编写子查询  再组合起来你要确认,每个函数所实现的效果与功能;Oracle 不管是列,表,都可以通过子查询语句嵌套;嵌套; Mybatis就是ORM关系数据库映射,它把数据库包装成面向对象的模型;采用面向对象编程设计语言,程序不再直接访问底层数据库,而是以面向对象方式来操作持久化对象;ORM框架则将这些面向对象的操作转换成底层的sql操...

2018-06-29 14:28:54 826

原创 JSONObject与JSONArray的使用

JSONObject与JSONArray的使用一、JAR包简介      要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:     1.commons-lang.jar     2.commons-beanutils.jar     3.commons-collections.jar      4.commons-logging.jar      5.ezm...

2018-06-29 14:19:55 849

原创 解析Json之MappingJackson2HttpMessageConverter使用方法

众所周知,用Spring cloud构建微服务架构时,后台接收controller通常用@RestController注解。@RestController注解的作用在 http://blog.csdn.net/m0_38016299/article/details/78270197中有讲解,@Restcontroller是@Controller和@ResponseBody的结合体。这样就将后台返回...

2018-06-28 22:30:40 4105

原创 java中的构造函数

本篇博文主要是为新手、对java语言感兴趣的人和那些没有系统学习过java基础知识的人进行一个总结,在文章中对构造函数进行了较为详细的说明和讨论,也包含了我个人对于java面向对象中构造函数的一些看法。希望走在java学习道路上的同行者可以有一个较为清晰的认知和理解。当然仅为个人观点,水平有限,不足之处,还请大家多多指出,互相交流学习。  1.构造函数的概念  很多java新手谈到构造函数就会犯晕...

2018-06-28 17:50:42 165

原创 org.json.JSONObject与org.json.JSONArray用法

org.json.JSONObject//JSONObject内部封装了一个HashMap&lt;String, String&gt;,用于存储json对象的属性名(String类型)和属性值。//JSONObject构造1JSONObject obj = new JSONObject();System.out.println(obj.toString());obj.put("100", ...

2018-06-27 10:05:14 9662

原创 org.json.JSONObject与org.json.JSONArray

import org.json.JSONArray;import org.json.JSONObject;  public class JSONTest{   public static void main(String[] args){      //JSONObject      String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\...

2018-06-27 10:04:25 2295

原创 Servlet简介与Servlet和HttpServlet运行的流程

1.Servlet     [1] Servlet简介        &gt; Server + let        &gt; 意为:运行在服务器端的小程序。        &gt; Servlet实际上就是一个接口。            - 狭义上的Servlet,指的就是Servlet接口            - 广义上的我们认为凡是实现Servlet接口的类,我们都称他是一个Servl...

2018-06-26 14:05:19 139

原创 派生类extends基类

派生类extends基类派生类调用基类的普通方法时:(1)super.方法名();(基类中的方法)(2)方法名();派生类调用基类中的构造方法时:(1)无参数的构造方法:        不用进行显式的调用,直接系统就会调用到无参数的构造函数(2)有参数的构造方法:       super(需要传入的参数);...

2018-06-26 13:01:21 161

原创 oracle数据库设计经验

一、实体与表对应关系表&lt;=&gt;实体,字段&lt;=&gt;属性。 二、表与表的关系(实体间的关系):一对一、一对多、多对多一对一:一条记录只对应其他表中的一条记录有关系学生基本信息表t_student,成绩表t_studentScore含有一个外键studentId。基本信息表中的studentId和成绩表中的studentId就是一对一的关系。一对多:A表一条记录对应B表中多条记录有关...

2018-06-26 09:19:08 3861

原创 Oracle数据库表设计时的注意事项

表是Oracle数据库中最基本的对象之一。万丈高楼从平地起,这个基础对象对于数据库来说,非常重要。因为其设计是否合理,直接跟数据库的性能相关。从Oracle数据库菜鸟到数据库专家这个过程中,在表设计与管理上,或多或少,会犯一些错误。笔者今天就谈谈自己在这方面的经验与教训,或许能够给大家一些警示作用。  表是Oracle数据库中最基本的对象之一。万丈高楼从平地起,这个基础对象对于数据库来说,非常重要...

2018-06-25 15:12:08 727

原创 java线程同步的七种方法

同步的方法:一、同步方法  即有synchronized关键字修饰的方法。 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。注: synchronized关键字也可以修饰静态方法,此时如果调用该静态方法,将会锁住整个类。 二、同步代码块  即有synchronized关键字修饰的语句块。 被该关键字修饰的语句...

2018-06-25 11:18:58 131

空空如也

空空如也

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

TA关注的人

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