自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (3)
  • 收藏
  • 关注

原创 ==和equals的区别和联系

总的来说呢对于==,比较的是值是否相等如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;...

2019-09-24 19:57:45 120

转载 Redis持久化RDB和AOF

前言Redis是一种高级key-value数据库。数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。Redis为了保证效率,数据缓存在内存中,Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,以保证数据的持久化。...

2019-09-24 19:44:17 111

原创 进程与线程区别

定义:进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。线程:单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位。**根本区别:**进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位**两者关系:**没有线程的进程可以看做是单线程的,如果一个进程...

2019-09-24 19:31:17 104

原创 Redis的五种对象类型及其底层实现原理介绍

Redis 数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sortedet:有序集合)。String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如j...

2019-09-23 20:01:00 200

原创 string是基本数据类型吗?为什么?

java 中String 是个对象,是引用类型 ,基础类型与引用类型的区别是,基础类型只表示简单的字符或数字,引用类型可以是任何复杂的数据结构 ,基本类型仅表示简单的数据类型,引用类型可以表示复杂的数据类型,还可以操作这种数据类型的行为 。java虚拟机处理基础类型与引用类型的方式是不一样的,对于基本类型,java虚拟机会为其分配数据类型实际占用的内存空间,而对于引用类型变量,他仅仅是一个指向堆...

2019-09-23 19:21:48 2035

原创 线程的5种状态

线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。1、新建状态当用new操作符创建一个线程时。此时程序还没有开始运行线程中的代码。2、就绪状态一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法即启动了线程,start()方法创建线程运行的系统资源,并调度线程运行run()方法。当s...

2019-09-23 15:57:41 160

原创 redis replication的完整运行流程和原理

1、复制的完整流程(1)slave node启动,仅仅保存master node的信息,包括master node的host和ip,但是复制流程没开始master host和ip是从哪儿来的,redis.conf里面的slaveof配置的(2)slave node内部有个定时任务,每秒检查是否有新的master node要连接和复制,如果发现,就跟master node建立socket网络连接...

2019-09-20 20:41:06 149

原创 redis主从复制原理

1、主从架构的核心原理当启动一个slave node的时候,它会发送一个PSYNC命令给master node如果这是slave node重新连接master node,那么master node仅仅会复制给slave部分缺少的数据; 否则如果是slave node第一次连接master node,那么会触发一次full resynchronization(全量同步)开始full resyn...

2019-09-20 20:30:34 80

转载 一致性哈希算法(consistent hashing)

在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。场景描述假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号2号,现在,有3万张图片需要缓存,我们希望这些图片被均匀的缓存到这3台服务器上,以便它们能够分摊缓...

2019-09-19 19:32:23 157

原创 @Controller和@RestController的区别

官方文档:@RestController is a stereotype annotation that combines @ResponseBody and @Controller.意思是:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。如果只是使用@RestController注解Controller,则Controlle...

2019-09-18 16:49:50 79

转载 从分布式一致性谈到CAP理论、BASE理论

问题的提出在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。1、火车站售票假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车 票,然后拿着车票去检票口,再坐上火车,开始一段美好的旅行----一切似乎都是那么和谐。想象一下,如果他选择的目的地是杭州,而某一趟开往杭州的火车 只剩下最后一张车票,可能在同一时刻,不同售票窗口的另一位乘...

2019-09-18 15:03:06 94 1

原创 单例模式

单例模式:单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式的特点:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例为什么使用单例模式呢:当我们需要确保某个类只要一个对象,或创建一个类需要消耗的资源过多,如访问IO和数据库操作等,这时就需要考虑使用单例模式了。比如说当我们使用多线程在操作一个文件的时...

2019-09-17 20:58:14 172

原创 Java中ArrayList和LinkedList区别

一般大家都知道ArrayList和LinkedList的大致区别:ArrayList是实现了基于动态数组的数据结构,LinkedList基于双向链表的数据结构。对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。(ArrayList可以根据下标以O(1)时间复杂度对元素进行随机访问。而LinkedList的每一个元素都依靠地址指针和它...

2019-09-16 20:09:35 138 2

转载 理解Spring的两大特征:IOC与AOP

Spring的核心特性就是IOC和AOP。IOC(Inversion of Control),即“控制反转”;AOP(Aspect-OrientedProgramming),即“面向切面编程”。(参考书《Spring In Action》)IOC:IOC,另外一种说法叫DI(Dependency Injection),即依赖注入。它并不是一种技术实现,而是一种设计思想。在任何一个有实际开发意义的...

2019-09-16 19:52:27 147 1

原创 抽象、封装、继承、多态

抽象:我们在定义一个类的时候,实际上是把一类事物的公有的属性和行为提取出来,形成一个物理模型,这种研究问题的方法称之为抽象。封装:封装就是把抽象的数据和对数据进行的操作封装在一起,数据被保存在内部,程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行操作。电视机的开关,对音量,颜色,频道的控制是公开的,谁都可以操作,但是对机箱后盖,主机板的操作却不是公开的,一般是由专业维修...

2019-09-14 17:58:28 261 1

原创 Redis

Redis与Memcached的区别与比较Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。memcache支持简单的数据类型,String。Redis支持数据的备份,即master-slave模式的数据备份。Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,而Memecache把数据全部存...

2019-09-11 20:42:34 84 1

原创 HashMap、HashTable、LinkedHashMap和TreeMap用法和区别

Java为数据结构中的映射定义了一个接口java.util.Map,它有四个实现类,分别是HashMap、HashTable、LinkedHashMap和TreeMap。本节实例主要介绍这4中实例的用法和区别关键技术剖析:Map用于存储键值对,根据键得到值,因此不允许键重复,值可以重复。HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有...

2019-09-10 20:57:19 132 1

原创 Servlet与SpringMVC

Servlet:性能最好,处理Http请求的标准。SpringMVC:开发的效率高(好多共性的东西都已经封装好了,是对Servlet的封装,核心的DispatcherServlet最终继承自HttpServlet)两者的关系,就如同MyBatis和JDBC,一个性能好,一个开发效率高,是对另一个的封装。...

2019-09-02 20:11:34 184 2

原创 String类是否可以被继承

Java中String的定义是这样的:public final class String···以为他是被final关键字修饰的,所以不能被继承。那么什么样的类是不能被继承?在Java中,只要是被定义为final的类,也就是说被final修饰的类,就是不能被继承的。final是Java中的一个关键字,可以用来修饰变量、方法和类。用关键词final修饰的域成为最终域;用关键字final修...

2019-08-29 19:55:13 257

原创 @PathVariable 和 @RequestParam的比较

@RequestParam当controller层要实现一个方法的时候,用的是@GetMapping(“params”),括号里是"params",后面就用@RequestParam@GetMapping("params")public ResponseEntity<List<SpecParam>> queryParams(@RequestParam("gid")...

2019-08-28 21:07:19 90

原创 死锁的产生原因解决方法

死锁的产生原因1.竞争不可抢占性资源如果 p1已经打开F1,现在想去打开F2,p2已经打开F2,现在想去打开F1,但是F1和F2都是不可抢占的,这是发生死锁。2.竞争可消耗资源引起死锁进程间通信,如果顺序不当,会产生死锁,比如p1发消息m1给p2,p1接收p3的消息m3,p2接收p1的m1,发m2给p3,p3,以此类推,如果进程之间是先发信息的那么可以完成通信,但是如果是先接收信息就会产生...

2019-08-26 19:17:52 176 1

原创 Spring属性注入

Spring在进行属性注入是不是必须提供set、get方法呢——不是的,在进行@Autowired(默认根据类型进行注入)不需要提供set方法,也能注入进来; 但是,通过配置文件的方式去进行注入,必须得提供set方法。...

2019-07-22 20:53:52 104

原创 Servlet小问题

1)Servlet每次请求都会实例化——肯定不是2)那么他是如何进行方法调用的——多线程方式Servlet是线程安全的吗——不是线程安全的如何解决这个问题1、尽量不要书写非线程安全代码2、如果必须书写非线程安全代码 那么进行线程安全处理...

2019-07-16 23:21:04 69

原创 线程

一些常见问题 1、线程的名字,一个运行中的线程总是有名字的,名字有两个来源,一个是虚拟机自己给的名字,一个是你自己的定的名字。在没有指定线程名字的情况下,虚拟机总会为线程指定名字,并且主线程的名字总是mian,非主线程的名字不确定。2、线程都可以设置名字,也可以获取线程的名字,连主线程也不例外。3、获取当前线程的对象的方法是:Thread.currentThread();4、在...

2019-05-05 12:01:12 78

转载 UDP

上面的source port和destination port分别为UDP包的出发端口和目的地端口。Length为整个UDP包的长度。checksum的算法与IP协议的headerchecksum算法相类似。然而,UDP的checksum所校验的序列包括了整个UDP数据包,以及封装的IP头部的一些信息(主要为出发地IP和目的地IP)。这样,checksum就可以校验IP:端口的正确性了。在I...

2019-05-05 09:50:10 218

原创 for、while、do while

1、初始化变量。for循环当中定义的初始化变量,只有自己才能用;while和do-while循环,初始化变量本来就在外面,所以外面也照样可以使用(定义在循环体里 的局部变量,在栈内运行完释放,并不保存)。2、执行次数。for循环和while循环是【先判断后执行】,但是do-while循环是【先执行后判断】。3、使用的普遍性不同。绝大多数情况下,三种循环可以来回转换。但是凡是次数确定、范围确定的...

2019-05-04 12:40:29 339

原创 JVM中的堆和栈

堆和栈都是java用来在内存中存放数据的地方,与C++不同的是,java自动管理堆和栈,程序员不能自行设置堆和栈。java中的堆就是运行时存储数据的区域,类的实例对象可以通过new、new Array等指令建立从中分配空间,这些空间不需要程序代码来显式释放。堆是由jvm自动垃圾回收器负责的,堆的优势是可以动态的分配内存大小,生存周期也不用实现告诉编译器,因为空间是在运行时动态进行内存分配的。如果...

2019-05-04 12:12:20 143

原创 HashMap和Hashtable的区别

HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。Ha...

2019-05-03 11:11:52 73

原创 Java中是怎样存储汉字的

Java中用16位(也就是两字节)来表示一个char一个汉字需要两字节来存储,所以,一个char可以存下一个汉字,所以可以存储中文。

2019-03-20 16:58:01 573

原创 Java中标识符的最大长度

没有长度限制

2019-03-20 16:50:37 818

Android便签作品

Android的一个便签的小作品,带有通用的便签相关功能,还有设置密码部分等等。

2019-09-16

餐馆项目.zip

餐馆项目参考,希望能帮助到大家,谢谢哟

2019-08-13

baidu-parent.zip

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

2019-08-13

空空如也

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

TA关注的人

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