自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redis——数据库

服务器中的数据库struct redisServer { // 一个数组,保存着服务器中的所有数据库 redisDb *db; // 服务器的数据库数量 // 值由服务器配置的database选项决定,默认情况下是16个数据库 int dbnum;};切换数据库默认情况下,redis客户端的目标数据库为0号数据库,可以通过SELECT命令来...

2018-12-11 23:46:10 293

原创 Redis底层数据结构

简单动态字符串SDS的定义struct sdshdr { // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度 int len; // 记录buf数组中未使用字节的数量 int free; // 字节数组,用于保存字符串 char buf[];};杜绝缓冲区溢出空间分配策略空间预分配...

2018-12-11 18:59:29 248

原创 Ubuntu18.04搭建Hadoop3.0.3

Ubuntu18.04搭建Hadoop3.0.31. 创建hadoop用户首先确保在root账号下,创建一个hadoop用户sudo useradd -m hadoop -s /bin/bash设置密码sudo passwd hadoop增加管理员权限sudo adduser hadoop sudo使用su hadoop即可进行切换2. 安装SSHsudo apt ins...

2018-10-02 16:39:16 1623

原创 Thread.stop()为何废弃

官方给出的说明:/** @deprecated This method is inherently unsafe. Stopping a thread with * Thread.stop causes it to unlock all of the monitors that it * has locked (as a natural consequence...

2018-04-24 14:34:12 5495

原创 Java多线程之线程池

线程池的一些好处 通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销。 对线程进行一些维护和管理,比如定时开始,周期执行,并发数控制等等。Executor框架用于任务执行,接口有一个execute方法,用于提交任务。public interface Executor { void execute(Runnable command);}...

2018-04-14 11:03:55 221

原创 Socket的几种实现

基于TCP协议的网络编程 TCP/IP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路。一旦建立了虚拟的网络链路,两端的成员就可以通过虚拟链路进行通信。Java是对基于TCP协议的网络通信提供了良好的封装,Java使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。使用ServerSocke...

2018-03-21 19:30:34 2408 1

原创 NIO基础知识

NIO和传统的IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。NIO和IO最大的区别是数据打包和传输方式。IO是以流的方式处理数据,而NIO是以块的方式处理数据。缓冲区Buffer Buffer是一个对象,它包含一些要写入或读出的数据。在NIO中,数据是放入Buffer对象的,而在IO中,数据是直接写入或者读到Stream对象的...

2018-03-17 15:57:26 332

原创 多线程之闭锁、栅栏和信号量

闭锁 一种同步工具类,可以延迟线程的进度直到其到达终止状态。闭锁的作用相当于一扇门:在闭锁到达结束状态之前,这扇门一直是关闭的,并且没有任何线程通过,当到达结束状态时,这扇门会打开并允许所有的线程通过。当闭锁到达结束状态后,将不会再改变状态,因为这扇门将永远保持打开状态。闭锁可以用来确保某些活动直到其他活动都完成后才继续执行。应用场景:确保某个计算在其需要的所有资源都被初始化之...

2018-03-08 12:31:28 1341

原创 HTTP协议

HTTP协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。主要特点支持客户/服务器模式简单快速。客户向服务器请求服务时,只需传送请求...

2018-02-11 13:39:29 336

原创 JVM可回收垃圾判断算法

GC需要完成的3件事情:哪些内存需要回收?什么时候回收?如何回收?今天这篇文章就是说明哪些内存需要回收。在Java内存区域 一篇已经说明Java内存的各个数据区域的特点,其中程序计数器、虚拟机栈、本地方法3个区域随线程而生,随线程而灭,所以这几个区域的内存分配和回收都具备确定性,不用考虑回收问题。而Java堆和方法区则不一样,这部分内存的分配和回收都是动态的,垃圾收集器所关注的...

2018-02-11 13:26:29 304

原创 Java内存区域

1. 运行时数据区域 Java虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域。1.1. 程序计数器 程序计数器是一块较小的内存区域,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理和线程恢复等基础功能都需要依赖这个程序计数器来完成。...

2018-02-10 17:59:37 447

原创 对象的组合

设计线程安全的类设计线程安全类的过程中,需要包括以下三个基本要素:找出构成对象状态的所有变量找出约束状态变量的不可变条件建立对象状态的并发访问管理策略收集同步需求 确定对象的不可变条件与后验条件,借助原子性与封装性来满足在状态变量的有效值或状态转换上的各种约束条件。不可变条件用于判断状态是否是有效的,后验条件用来判断状态迁移是否是有效的,当下一个状态需要依赖当...

2018-02-10 12:34:22 667

原创 MySQL中的运算符

算数运算符+:加法-:减法*:乘法/, DIV:除法%,MOD:模运算比较运算符 当使用SELECT语句进行查询时,MySQL允许用户对表达式的左边操作数和右边的操作数进行比较,比较结果真,则返回1,为加则返回0,比较结果不确定则返回NULL。 运算符 作用 = 等于,NULL不可以用“=”比较 <> 或 !=...

2018-02-09 15:28:56 217

原创 MySQL支持的数据类型

数值类型 整数类型 字节 最小值 最大值 tinyint 1 有符号-128无符号0 有符号127无符号255 smallint 2 有符号−215−215-2^{15}无符号0 有符号215−1215−12^{15} - 1无符号216−1216−12^{16} - 1 mediumint 3 有符号−223−22...

2018-02-08 23:17:17 314

原创 单例模式

单例类只能有一个实例 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提供这一实例 经典单例实现public class Singleton { private static Singleton uniqueInstance = null; private Singleton() { // Exists only to d

2018-02-06 15:27:17 185

原创 解决Mybatis有查询结果但存不进实体类的问题

问题描述使用Mybatis查询得到实体类表定义如下 成员ID 成员姓名 member_id member_name对应的实体类如下public class Member { private Integer memberId; private String memberName; // 省略getter和setter}

2018-02-05 23:41:48 10682 4

原创 对象的共享

上一篇已经介绍了线程的安全性,包括原子性操作和锁机制等内容,如果还没了解此部分内容可参考线程安全性。从上一篇线程的安全性我们可以知道同步代码块和同步方法可以确保以原子的方式执行操作,这一篇则是介绍同步的另外一个重要的方面:内存可见性可见性 一个线程对共享变量值得修改,其他线程能够看到发生的状态变化。下列清单说明了当多个线程在没有同步的情况下共享数据时出现的错误pu...

2018-02-04 20:29:56 342

原创 SQL基础语句

SQL分类SQL语句主要可以划分为3个类别。DML(数据操作语句):用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用关键字有 insert、update、delete和select等。DDL(数据定义语句):用于定义了不同的数据段、数据库、表、列、索引等数据库对象。常用关键字有create、alter、drop、truncate等。DCL(数据控制语句):用于控制不同数据...

2018-02-04 00:05:45 243

原创 线程安全性

什么是线程安全性 某个类的行为与其规范完全一致。当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。换句话说就是当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个都能表现出正确的行为,那么就称这个类时线程安全的。一般来说,线程不安全的是指存储在状态变量(例如实例或静态域)中...

2018-02-03 21:22:36 287

原创 Java多线程基础

说到线程,一般就离不开进程的概念。 进程:一个正在执行的程序 线程:进程中负责程序执行的执行单元,一个进程中至少有一个线程Java创建多线程的方法继承Thread类,重写该类的run()方法。public class MyThread extends Thread { @Override public void run() {

2018-01-30 20:56:19 187

原创 平衡二叉树之C语言实现(插入、删除,分裂、合并)附源代码

平衡二叉树的定义 平衡二叉查找树( Balanced Binary Sort Tree,BBST)简称平衡二叉树。平衡二又树有很多种,其中最著名的是由前苏联数学家 Adele- Veliki和 Landis在1962年提出的高度平衡的二叉树。根据提出者的英文名字首字母简称为AVL树 。 平衡二叉树或者是棵空树,或者是具有下列性质的二叉查找树:它的左子树和右子树都是平衡二叉树,且左...

2018-01-26 14:06:39 4720 7

原创 B树之C语言实现(包括查找、删除、插入)

我在大二上学期的数据结构实验设计中选择了B树这个题目,该B树的数据结构实现采用了C语言。趁现在寒假整理完写一篇博文记录我的学习。文末提供了项目源代码的地址。B树的定义一棵m阶B树(Balanced Tree of order m),或为空树,或为满足下列特性对的m叉树。树中每个结点最多含有m棵子树。若根结点不是叶子结点,则至少有2个子树。除根结点之外的所有非终端结点至...

2018-01-25 18:00:35 4797 5

原创 SpringBoot创建工程与运行

SpringBoot创建工程与运行SpringBoot工程的构建1. 通过官网搭建在浏览器输入http://start.spring.io/ 即可进入以下界面。 在这里你可以搭建一个最简单的SpringBoot项目,当然你如果想要更多的功能与支持,可以点击里面的Switch to the full version,就会进入以下的搭建功能选择界面。 在这里你就可以选择你所需要的模块了,然后点击创建

2017-10-24 17:01:29 436

原创 运行时值注入Bean

运行时值注入Beanbean装配的另外一个方面指的是将一个值注入到bean的属性或者构造器参数中。但如果是下面这种装配bean的话注入的值就是硬编码了。

2017-10-14 13:41:34 561

原创 处理自动装配的歧义性

处理自动装配的歧义性 自动装配能够提供很大的帮助,因为它会减少装配应用程序组件时所需要的显式配置的数量。当不仅有一个bean能够匹配结果的话,这种歧义性会阻碍Spring自动装配属性、构造器参数或方法参数。

2017-10-13 22:18:04 363

原创 条件化的Bean——@Conditional注解

条件化的Bean——@Conditional注解 当我们希望某个Bean满足了一定的条件才会被创建的时候,我们就可以使用@Conditional注解(Spring 4引入)来实现这种功能。该注解可以用到带有@Bean注解的方法上,如果给定的条件计算结果为true,就会创建这个bean,否则的话,这个bean会被忽略。

2017-10-13 20:18:39 3293

原创 Spring实战笔记——Profile详解

Profile详解 在项目开发的过程中,我们在不同阶段可能需要不同的配置,而我们不可能花费两个项目去实现这样的功能,但Spring就提供了一个很好的特性,利用profile进行配置可以实现此目的。

2017-10-13 13:02:02 933

原创 解决Web项目因访问URL与Tomcat服务器文件夹相同导致404页面的问题

解决Web项目因访问URL与Tomcat服务器文件夹相同导致404页面的问题问题描述我们知道,客户端如果请求的URL不存在的话,会在页面显示一个404的错误,如下图但我在访问资源的时候出现了下面这种情况的404页面,显示以下的文字 404 Not found The page you tried to access (/manager/addnews) does not exist.

2017-08-02 21:38:42 2256 1

原创 JavaScript实时校验用户输入

JavaScript实时校验用户输入JavaScript实时校验用户输入登录表单实时检验函数 前阵子写了个javaweb的小项目,恰好用到了JavaScript的实时检验功能,所以今天分享给各位,不足之处请指正。这里只介绍实时检验功能,所以样式就不关心了。要实现这个功能并不难,主要是用到了html的文本框失去焦点事件的onkeyup事件。登录表单<form> <table>

2017-06-06 00:24:31 4991 3

Servlet3.1规范

Servlet3.1规范文档

2017-06-08

空空如也

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

TA关注的人

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