自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_37993487的博客

小白的博客,记录学习过程

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

原创 java并发编程基础(五)-新类库JUC包的构件

java并发编程基础(五)-类库JUC包的构件本博文为学习《thinking in java》一书中第21章“并发”时的小笔记,并使用这些构件结合简单的小场景写一些样例代码CountDownLatch作用:同步一个或者多个任务,强制它们等待由其他任务执行的一组操作完成使用:向CountdownLatch对象设置一个初始计数值,任何在该对象中调用await()的方法都将阻塞,...

2019-01-20 13:54:27 289

原创 java并发编程基础(四)-线程之间的协作

java并发编程基础(四)-线程之间的协作本文为学习《thinking in java》第21章的相关笔记Object.wait()和Object.notifyAll()忙等待:占用CPU时间并且不断进行空循环wait()会在等待外部世界产生变化的时候将任务挂起,并且只有notify()或notifyAll()发生变化时,这个任务才会被唤醒调用sleep()的时候锁并没有...

2019-01-18 11:47:00 217

原创 java并发编程基础(三)-终结任务

java并发编程基础(三)-终结任务本文为学习《thinking in java》第21章的相关笔记线程结束任务样例class Worker implements Runnable{ private static volatile boolean canceled = false; // static静态使得多个线程都共享 public static void ca...

2019-01-17 16:33:18 207

原创 深入Web请求过程

深入Web请求过程学习《深入分析Java Web技术内幕》第1章的笔记浏览器输入URL发生的操作域名解析:DNS服务把域名解析为IP地址向找到IP地址的服务器发送一个get请求服务器返回默认的数据资源给访问的用户注意事项服务器可能有多台,需要通过负载均衡来确定哪一台服务器来接受请求请求数据可能储存在分布式缓存/静态文件/数据库当数据返回给浏览器时,浏览器解析数据发现有一些...

2019-01-06 10:14:30 489 6

原创 记一次前后端对接加部署经历

记一次前后端对接加部署经历后端使用spring boot + mybatis, 本文也主要记录完成学校课程作业前后端对接时遇到的小问题和一些新的尝试,因此可能和业界大佬们相比应该low一些。本文不会贴上全篇的代码,仅作注意事项记录。使用jwt tokenmaven 依赖:<dependency> <groupId>com.auth0</grou...

2018-12-19 10:40:24 941

原创 java并发编程基础(二)

java并发编程基础(二)本文简单介绍synchronized关键字,Lock的使用,原子性和可视性volatile,原子类,ThreadLocal.主要参考《thinking in java》等书籍的相关内容,记录本人在学习过程中的笔记.synchronized关键字synchronized方法:synchronized void f()防止多个线程同时访问资源,可以使用sy...

2018-12-05 19:50:50 122

原创 安装/卸载 ubuntu18.10 和 win10 双系统及常用软件安装

本文简单记录安装ubuntu 18.10的过程大纲和遇到一些安装问题的解决和常用软件的安装(搜狗输入法,wechat,tim…)。杂项uefi是新式的BIOS,legacy是传统BIOS。mbr和gptMBR分区表最多只能识别2TB左右的空间,大于2TB的容量将无法识别从而导致磁盘空间浪费;GPT分区表则能够识别2TB以上的磁盘空间。MBR分区表最多只能支持4个主分区或三个主分区...

2018-11-30 22:02:42 977

原创 jdk 8 stream的简单运用

jdk 8 Stream的简单运用概述Stream api的介绍网上不少,这里不多说了,本文主要总结一下可能对你有帮助的stream的简单操作,你可以在这些小例子中举一反三得到更多有用的能够简化你代码的写法。文末贴上一些本文的参考资料,它们介绍得比较全面。废话不多说立刻上例子。创建Stream列举常用的创建方法Stream.of(T... values)Arrays....

2018-11-27 15:37:15 286

原创 Java虚拟机内存区域

Java虚拟机内存区域学习小笔记,参考书籍:《深入理解java虚拟机》,《深入理解计算机系统》运行时数据区域可以看下图,其中绿色背景的表示是所有下线程共享的数据区程序计数器这里指的是一块较小的内存区域,可以看作当前线程所执行字节码的行号指示器。虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选择取下一条需要执行的字节码指令。Java虚拟机的多线程是通过线程...

2018-11-20 18:03:08 135

原创 java泛型之自限定类型和参数协变

java泛型之自限定类型和参数协变本博文参考《thinking in java》第四版第15张“泛型”中的相关内容和网络上的各种博客,本文也是几个月前的一篇博文“java泛型(一)”的后续,主要是书本的代码加上自己的理解和感悟背景为何突然想起看这部分内容,这是由于最近有一个小项目,有几个对象的构造十分复杂,一大堆的setter和getter或者冗长的构造函数太辣眼睛。本着做一次小项目学...

2018-11-13 01:55:29 1116

原创 java并发基础(一)

java并发基础(一)本博文参考《thinking in java》一书第21章,记录本人在学习过程中的笔记定义任务线程可以驱动任务,因此需要一种描述任务的方式,这可以由Runnable接口来提供,并且实现run方法,例如public class RunnableItem implements Runnable{ protected int countDown ...

2018-11-02 23:35:24 157

原创 spring boot 使用druid和mybatis

spring boot 使用druid和mybatis本博文为本人经过实践和阅读spring官方文档和mybatis官方文档后做的笔记,还结合了一些网上的博客,请放心食用。另外本人水平有限,欢迎指出错误。准备使用的spring boot版本为2.0.5.RELEASEjava版本为9.0.4使用maven版本为3.5.3mysql-connector-java版本为5.1.47...

2018-10-10 17:22:20 1616

原创 客户端识别和cookie机制

计算机网络基础:客户端识别和cookie机制(笔记)本博文是本人阅读《http权威指南》第三部分识别、认证和安全时做的笔记HTTP首部七种常见用来承载用户相关信息的HTTP请求首部首部名称首部类型描述From请求用户的emailUser-agent请求用户的浏览器软件Referer请求用户是从哪一个页面按照链接跳转过来的Autho...

2018-10-08 14:51:17 214

原创 c++函数笔记

c++函数 本文为阅读《c++ primer plus》函数的相关章节后做的小笔记,仅记录本人不熟悉或者容易犯错的地方杂记c++中,函数的返回值不可以是数组,但是可以为其它的任何类型,例如整数、浮点数、指针、甚至可以是结构和对象通常,函数通过将返回值复制到指定的CPU寄存器或者内存单元中将其返回,随后调用程序查看该内存单元,返回函数和调用函数必须就该内存单元中存储的数据的...

2018-08-07 10:36:45 213

原创 c++指针和自由储存空间

c++指针和储存空间 本博文为本人阅读c++ primer plus第4章复合类型后做的小笔记,仅记录本人不熟悉或者容易犯错的地方概述指针是一个变量,储存的是值得地址,而不是值本身地址运算符&,可以获得变量的所在地址指针名表示的是地址,*运算符被称为间接值(indirect value)或者解除引用(dereferencing);简单来说,使用*可以获得指针指向...

2018-07-30 09:42:24 1233

原创 c++中的复合类型

c++中的复合类型(数组,字符串,结构体,共用体,枚举) 本文为本人阅读c++ primer plus第4章复合类型做的小笔记,只是记录本人不熟悉或者容易出错的地方数组声明数组:typeName arrayName[arraySize] arraySize必须是整性常数或者const值,也可以是常量表达式,所有的值在编译的时候都是已知的,不可以是变量sizeof运算...

2018-07-27 14:59:45 1122

原创 简单快速搭建git gogs

本人实践前参考了网上多种方式,找出了最简单的git gogs的搭建方式准备ubuntu 17.10gitgogs数据库如mysqlnginxgit更新软件源:$ sudo apt update安装:$ sudo apt install gitnginx安装:$ sudo apt install nginx配置准备:sudo vim /etc...

2018-07-23 11:38:58 396

原创 计算机网络基础大纲:链路层

第五章 链路层链路层概述1.结点(nodes):主机和路由器 2.链路(link):把通讯路径连接相邻结点的通讯信道称为链路 3.通过特定的链路时,传输结点将数据报封装在链路层帧中,并将帧传送到链路中 提供服务1.服务 组帧(framing):封装数据报构成数据帧,加尾部和首部;帧同步链路接入:MAC协议规定了帧在链路上传输的规则;共享介质需要解决信道接入;...

2018-07-18 10:15:24 229

原创 计算机网络基础大纲:网络层

第四章 网络层 博文为博主复习期末考试时做的的书本小笔记和大纲(书本为《计算机网络自顶向下方法》第六版),同时也部分参考了网上的资料概述1.核心功能:路由和转发 转发:分组从输出端口转移到合适的输出端口(转发表:确定本路由器如何转发分组,根据地址信息查出输出链路,然后进行转发)路由:确定分组从源到目的经过的路径(路由算法) 2.其它功能:连接建立(connecti...

2018-07-18 10:15:01 626

原创 计算机网络基础大纲:传输层

第三章 传输层 博文为博主复习期末考试时做的的书本小笔记和大纲(书本为《计算机网络自顶向下方法》第六版),同时也部分参考了网上的资料概述1.网络层提供主机之间的逻辑通讯机制,传输层提供应用进程之间的逻辑通讯机制 2.基本理论和基本机制: 多路复用可靠数据传输机制流量控制机制拥塞控制机制3.TCP:面向连接的,可靠的,按序的交付服务,具有拥塞控制,流量控制。 ...

2018-07-18 10:14:13 270

原创 计算机网络基础大纲:应用层

第二章 应用层 博文为博主复习期末考试时做的的书本小笔记和大纲(书本为《计算机网络自顶向下方法》第六版),同时也部分参考了网上的资料网络应用体系结构1.cs: 2.p2p: 3.hybrid: 4.网络应用的进程通讯: ①如何进行:消息交换 ②套接字:不同主机的进程之间的通讯的实现 ③进程寻址:ip地址,端口号,唯一标识网络上的主机 ④应用层协议:公开协议,私有协议...

2018-07-18 10:13:25 299

原创 计算机网络基础大纲:计算机网络和因特网

第一章 计算机网络和因特网 博文为博主复习期末考试时做的的书本小笔记和大纲(书本为《计算机网络自顶向下方法》第六版),同时也部分参考了网上的资料具体构成1.端系统通过通讯链路(communication link) 和 分组交换机(packet switch)连接在一起 2.传输速率bit/s,bps 3.端系统通过ISP接入因特网 4.因特网的主要协议是TCP/IP...

2018-07-18 10:12:41 540

原创 Spring整合Mybatis、redis的Hello-World程序

Spring+Redis1.首先redis服务器要处于开启状态 2.redis maven依赖<!-- redis --><dependency> <groupId>org.springframework.data</groupId> <artifactId>sp

2018-07-08 11:03:13 209

原创 简单部署maven项目到远程服务器的tomcat上

本机系统为windows,远程服务器为ubuntu 17.10,下面简单讲述部署maven项目到远程服务器的tomcat上,更为详细的步骤可以参考其他博客。虽然一般应该使用时nginx+tomcat的组合,但是从学习嘛,总得一步一步来。下列步骤经过个人实践,当然难免有不足的地方,请见谅。准备远程连接工具(如Putty) windows的ftp客户端(网上一抓一大把)一台服务...

2018-06-17 00:05:42 3486

原创 当SpringMVC遇上前端传来的json

这个小问题还是困扰了我:SpringMVC无法正确接收前端传来的json。而网上的博文解决方法参差不齐或者是有些点忽略了没讲,于是我记录一下过程。内容1.这个测试内容很简单,就是前端直接传来form-data形式,json形式的字符串,看看后端接受的结果如何。 2.要善于F12调试工具(谷歌浏览器),查看究竟前端传出去的数据形式是什么。 3.由于本人对前端一无所知,于是只能用上...

2018-06-09 10:57:25 1398 1

原创 Spring和Shiro的简单整合

Spring 简单整合Shiro 本博文主要是简单记录一下Shiro整合Spring的一些基本配置,并不会过多讲述其中的细节。其实我觉得我自己练手写的破网页直接用拦截器或者过滤器或者更简单粗暴在controller中判断权限就已经足够了,但是这一套规范还是学一下把…Maven dependency <!-- shiro --> <d...

2018-06-08 22:40:55 450

原创 java设计模式之Builder模式

java设计模式之Builder模式 最近开始看起了java中的定时任务调度工具Quartz,什么都不懂的我看到一段”诡异的”代码,于是便有了这一篇东东。引入背景:在Quartz中创建一个JobDetail对象的一段代码JobDetail jobDetail = JobBuilder.newJob(MyJob.class).withIdentity("my Job", "g...

2018-06-02 22:38:54 647

原创 c++中的模板template

c++中的模板template 本博客是在学习了<< c++ Primer Plus >> 相关模板知识后整理得到的。函数模板1.定义一个模板:template<typename T>,其中关键字typename可以换成class,T为自定义的类型名称。template <typename T>

2018-05-19 16:38:22 135

原创 XML和XSD

初识XML和XSD 最近在学习Spring,由于要写大量的xml配置文件,而且配置文件中也用到了xsd的相关知识,于是整理一些本人不熟悉的知识点.建议先学习html的相关知识.本文部分内容参考w3school.XML类似HTML树结构,具有自我描述性语法,语法也类似html,不作多说.xml命名空间:如果两个不同的文档使用相同的元素名时,就会发生命名冲突.fil...

2018-05-10 23:55:54 10804 1

原创 计算机基础-内存管理

计算机基础-内存管理 整理自<< 现代操作系统 >> 一书第四版第3章内存管理,文字有所修改,使得内容更加通俗易懂.地址空间地址空间:一个进程可用于寻址内存的一套地址集合,每一个进程都有一个自己的地址空间,并且这个地址空间独立于其他进程的地址空间.每一个CPU配置的两个特殊硬件寄存器,通常叫做基址寄存器和界限寄存器,当使用基址寄存器和界限寄存器时,...

2018-05-09 17:53:59 359

原创 java设计模式之享元

java设计模式之享元模式介绍:所谓享元看名称也很容易理解,就是共享相同的资源(对象),减少对象的创建即内存的占用.情景引入:平时我们想去看电影,一般都会选择去电影院,和其他人共享同一套影片,我觉得这就是享元的思想.我们大可每一个人都自己买一套影片回家看,但是这明显有资源浪费.既然大家都看的是同样的东西,为什么不聚起来一起看呢,这样子只需要购买一套影碟就行了.代码:public...

2018-04-29 13:40:38 91

原创 java中的数组

java中的数组 本博客参考<< thinking in java >> 第16章数组,整理和记录本人学习过程中觉得重要的知识便于复习,并加上自己的理解.数组初识数组的标识符其实只是一个引用,指向堆中创建的一个真实对象,这个(数组)对象用以保存指向其他对象的引用.对象数组和基本类型数组在使用上是几乎相同的,唯一的区别就是对象数组保存的是引用,但是基本...

2018-04-29 00:44:05 119

原创 java设计模式之策略模式

java设计模式之策略模式 本博客参考了<< thinking in java >> 部分内容和网上资料.1.考虑场景,先创建接口Thoughtspublic interface Thoughts { public void doSomething();}然后定义一些行为,表示思考过后做出的行为public class Spit im...

2018-04-28 21:57:52 104

原创 java设计模式之适配器

java设计模式之适配器 虽然学习java也有一段时间,但是初看<< thinking in java >>还是有些吃力,其中的原因是里面的章节有许多设计模式,初看这些设计模式还不能完全深刻领悟其中的道理,于是我决定先简单了解一下java中的一些设计模式.由于本文内容包含自己写的代码,并不能保证能原汁原味反映设计模式的思想.适配器情景引入:假如Tom...

2018-04-25 20:50:24 112

原创 java设计模式之工厂模式

java设计模式之工厂模式 虽然学习java也有一段时间,但是初看<< thinking in java >>还是有些吃力,其中的原因是里面的章节有许多设计模式,初看这些设计模式还不能完全深刻领悟其中的道理,于是我决定先简单了解一下java中的一些设计模式.由于本文内容包含自己思考的代码,并不能保证能原汁原味反映设计模式的思想.工厂模式1.介绍:工厂是...

2018-04-25 17:19:02 108

原创 java中的泛型(1)

java中的泛型(1)  本博客参考 << thinking in java >> 第15章泛型,记录整理我的学习笔记,结合了自己的思考和理解.泛型使用使用类型参数,用尖括号括住,放在类名/接口后面.如果有多个参数,只需要用逗号隔开即可.public class Holder<T>{ private T a; pub...

2018-04-23 16:38:12 139

原创 java中的类型信息

java类型信息 本博客参考<< thinking in java >> 第十四章类型信息,做一些适当的学习笔记.注意,列举的代码并不完全是书上的代码,有些是自己学期期间测试的代码.java运行时识别对象和类的信息方法有如下两种: 1. “传统的”RTTI, 它假定我们在编译时已经知道了所有类型. 2. 反射机制,允许我们在运行时发现和使用类的...

2018-04-18 22:48:58 172

原创 java中的内部类

java中的内部类 本博客参考<< thinking in java >>第10章内部类,总结了本人不熟悉的知识点或者重要的知识点.创建内部类只需要简单地将类的定义置于外围类内部.链接到外部类内部类能够访问外围对象的所有成员,而不需要任何条件.而且内部类具有外部类所有成员的访问权(包括private).为什么呢?这是因为内部类对象会秘...

2018-04-18 00:03:11 130

原创 网络基础知识-网络传输协议

网络基础知识-常见的网络传输协议 本博客参考了维基百科,整理一下作为我的复习纲要.地址解析协议(ARP)介绍:解析网路层地址来找寻数据链路层地址的一个在网络协议包中极其重要的网络传输协议.功能:同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,...

2018-04-14 20:13:35 1586 1

原创 网络基础知识-DNS

网络基础知识(2) 本博客部分内容参考网上资料和<<计算机网络自顶向下方法>>DNS(域名系统:Domain name system)提供的服务:进行主机名到ip地址转换的目录服务. DNS是:①一个由分层的DNS服务器实现的分布式数据库.②一个使得主机能够查询分布式数据库的应用层协议(DNS协议运行在UDP之上,使用53号端口).例子说明:某...

2018-04-14 10:57:45 312

空空如也

空空如也

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

TA关注的人

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