IT哈哈的博客

公众号:IT哈哈
私信 关注
it_haha
码龄13年

微信公众号:IT哈哈

  • 55,592
    被访问量
  • 36
    原创文章
  • 89,389
    作者排名
  • 60
    粉丝数量
  • 于 2008-04-22 加入CSDN
获得成就
  • 获得54次点赞
  • 内容获得6次评论
  • 获得242次收藏
荣誉勋章
兴趣领域
  • #后端
    #Redis#Spring#分布式#Java#Elasticsearch#MySQL#Spring Boot#架构
TA的专栏
  • JavaScript
    1篇
  • python
    2篇
  • Docker教程
    1篇
  • Docker从入门到实践
    1篇
  • Docker
    1篇
  • Maven完整教程
    1篇
  • Maven
    1篇
  • Python3
  • Python3 完全教程
    1篇
  • Git完整教程
    1篇
  • Git教程
    1篇
  • Go完整教程
    1篇
  • Go教程
    1篇
  • Go
    1篇
  • Lua
    1篇
  • Lua 完全教程
    1篇
  • Perl 完整教程
    1篇
  • Perl
    1篇
  • jsoup完整教程
    1篇
  • 爬虫
    1篇
  • MongoDB完整教程
    1篇
  • Shiro教程
    1篇
  • Hibernate教程
    1篇
  • Hibernate
    1篇
  • Spring Security教程
    1篇
  • Spring Security
    1篇
  • Linux
    1篇
  • 操作系统
    1篇
  • redis
    3篇
  • Memcached
    1篇
  • mybatis
    1篇
  • mysql
    2篇
  • spring boot
    17篇
  • java
    34篇
  • nginx
    3篇
  • 数据库
    9篇
  • 架构
    5篇
  • spring
    21篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

JavaScript权威指南(第6版)

本书是程序员学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手册。第6版涵盖HTML 5和ECMAScript 5。很多章节完全重写,以便与时俱进,紧跟当今的最佳Web开发实践。本书新增章节描述了jQuery和服务器端JavaScript。本书适合那些希望学习Web编程语言的初、中级程序员和希望精通JavaScript的JavaScript程序员阅读。JavaScript权威指南(第6版)...
原创
58阅读
0评论
0点赞
发布博客于 6 月前

javaScript资料汇总

https://www.baiyu.tech/v/s/javascript
原创
30阅读
0评论
0点赞
发布博客于 6 月前

python学习资料(全)

https://www.baiyu.tech/v/s/python
原创
42阅读
0评论
0点赞
发布博客于 6 月前

java学习资料(全)

https://www.baiyu.tech/v/s/java
原创
44阅读
0评论
0点赞
发布博客于 6 月前

java 相关学习资料汇总下载(全)

《JAVA解惑[JAVA PUZZLERS]》《Java虚拟机规范(Java_SE_7)》Java语言规范:基于Java SE 8SOA与Java 用Java技术实现面向服务Java深入解析 透析Java本质的36个话题Java虚拟机规范 Java SE 8版Java.进入IT企业必读的324个JAVA面试题全端Web开发 使用JavaScript与Java从Java走向JavaEEJava 并发工具包 java.util.concurrent用户指南《Java典型应
原创
346阅读
0评论
0点赞
发布博客于 7 月前

Docker教程:Docker从入门到实践

Docker 是个伟大的项目,它彻底释放了虚拟化的威力,极大降低了云计算资源供应的成本,同时让应用的分发、测试、部署和分发都变得前所未有的高效和轻松!Docker从入门到实践:Docker简介Docker从入门到实践:Docker基本概念Docker从入门到实践:安装DockerDocker从入门到实践: Docker镜像Docker从入门到实践:获取Docke镜像Docker从入门到实践:列出Docke镜像Docker从入门到实践:创建Docker镜像Docke..
原创
148阅读
0评论
0点赞
发布博客于 9 月前

Maven完整教程

Apache Maven 是一套软件工程管理和整合工具。基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建、报告和文档。本教程将教你如何在使用 Java 开发的工程中,或者任何其他编程语言中使用 Maven。本教程适合的读者本教程主要针对初学者,帮助他们学习 Maven 工具的基本功能。完成本教程的学习后你的 Apache Maven 的专业知识将达到中等水平,随后你可以学习更高级的知识了。需要的基础知识我们假定你将使用 Maven 来管理企业级的
原创
165阅读
0评论
0点赞
发布博客于 9 月前

Python3 完全教程

Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。Python 介绍及安装教程我们在Python 2.X 版本的教程中已有介绍,这里就不再赘述。你也可以点击Python2.x与3.x版本区别 来查看两者的不同。本教程主要针对 Python 3.x 版本的学习,如果你使用的是 Python 2.x 版本请移步至 Python 2.X 版本
原创
127阅读
0评论
0点赞
发布博客于 9 月前

Git完整教程,分布式版本控制

Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上。SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。而且集中式版本控制系统是必须联网才能工作。Git是分布式版本控制系统,它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。Git服务器搭建Git标签
原创
94阅读
0评论
0点赞
发布博客于 9 月前

Go完整教程

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。Go 语言教程Go 语言环境安装Go 语言结构Go 语言基础语法Go 语言数据类型Go 语言变量.
原创
225阅读
0评论
0点赞
发布博客于 9 月前

Lua 完全教程

Lua 环境安装Lua 基本语法Lua 数据类型Lua 数据类型:nil(空)Lua 数据类型:boolean(布尔)Lua 数据类型:number(数字)Lua 数据类型:string(字符串)Lua 数据类型:table(表)Lua 数据类型:function(函数)Lua 数据类型:thread(线程),userdata(自定义类型)Lua 变量Lua 循环Lua 流程控制Lua 函数Lua 函数:函数定义Lua 函数:多返回值Lua 函
原创
93阅读
0评论
0点赞
发布博客于 9 月前

Perl 完整教程

Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 “实用报表提取语言”。Perl 是高级、通用、直译式、动态的程序语言。Perl 最初的设计者为拉里·沃尔(Larry Wall),于1987年12月18日发表。Perl 借用了C、sed、awk、shell脚本以及很多其他编程语言的特性。Perl 最重要的特性是Perl内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。Perl简介Perl 环境安装Pe.
原创
433阅读
0评论
0点赞
发布博客于 9 月前

jsoup完整教程

jsoupjsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。官网:https://jsoup.org/内容介绍jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。主要功能从一个URL,文件或字符串中解析HTML
原创
195阅读
0评论
0点赞
发布博客于 9 月前

MongoDB完整教程

什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,...
原创
529阅读
0评论
0点赞
发布博客于 9 月前

Hibernate完整教程

Hibernate 是一个高性能的对象/关系型持久化存储和查询的服务,其遵循开源的 GNU Lesser General Public License (LGPL) 而且可以免费下载。Hibernate 不仅关注于从 Java 类到数据库表的映射(也有 Java 数据类型到 SQL 数据类型的映射),另外也提供了数据查询和检索服务。这个教程将指导你如何以简单的方式使用 Hibernate 来开...
原创
110阅读
0评论
0点赞
发布博客于 9 月前

Shiro完整教程

Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro 要简单的多。Shiro简介Shiro身份验证Shiro授权Shiro授权方式Shiro授权的访问控制Shiro 的Permission字符串通配符权限Shiro授...
原创
145阅读
0评论
0点赞
发布博客于 10 月前

Spring Security完整教程

Spring Security,这是一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权。本教程对 Spring Security 的使用进行一个比较全面的简要介绍。Spring Security初体验Spring Security关于登陆Spring Security核心类简介:A...
原创
343阅读
0评论
0点赞
发布博客于 10 月前

Linux命令最全汇总

Linux命令汇总
原创
51阅读
0评论
0点赞
发布博客于 10 月前

redis基础知识汇总

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据...
原创
57阅读
0评论
0点赞
发布博客于 10 月前

Memcached完整教程

Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。Memcached是一种基于内存的key-value存储,用...
原创
117阅读
0评论
0点赞
发布博客于 10 月前

python完整教程

Python基础 Hello World!Python基础 基本数据类型Python基础 序列Python基础 运算Python基础 缩进和选择Python基础 循环Python基础 函数Python基础 面向对象的基本概念Python基础 面向对象的进一步拓展Python基础 list,运算符Python进阶 词典Python进阶 文本文件的输入输出...
原创
276阅读
0评论
1点赞
发布博客于 10 月前

Java 8 中 Map 骚操作之 merge() 的用法

Java 8 最大的特性无异于更多地面向函数,比如引入了 lambda等,可以更好地进行函数式编程。前段时间无意间发现了 map.merge() 方法,感觉还是很好用的,此文简单做一些相关介绍。首先我们先看一个例子。merge() 怎么用?假设我们有这么一段业务逻辑,我有一个学生成绩对象的列表,对象包含学生姓名、科目、科目分数三个属性,要求求得每个学生的总成绩。加入列表如下:...
转载
95阅读
0评论
0点赞
发布博客于 2 年前

瞬间点击量过万,Redis热点 Key 问题发现与5种解决方案

热点问题产生的原因大致有以下两种:1、用户消费的数据远大于生产的数据(热卖商品、热点新闻、热点评论、明星直播)。在日常工作生活中一些突发的的事件,例如:双十一期间某些热门商品的降价促销,当这其中的某一件商品被数万次点击浏览或者购买时,会形成一个较大的需求量,这种情况下就会造成热点问题。同理,被大量刊发、浏览的热点新闻、热点评论、明星直播等,这些典型的读多写少的场景也会产生热点问题。...
转载
564阅读
0评论
0点赞
发布博客于 2 年前

除了负载均衡,Nginx还可以做很多,限流、缓存、黑白名单等

Nginx应该是现在最火的web和反向代理服务器,没有之一。她是一款诞生于俄罗斯的高性能web服务器,尤其在高并发情况下,相较Apache,有优异的表现。那除了负载均衡,她还有什么其他的用途呢,下面我们来看下。一、静态代理Nginx擅长处理静态文件,是非常好的图片、文件服务器。把所有的静态资源的放到nginx上,可以使应用动静分离,性能更好。二、负载均衡Nginx通过反向代理...
转载
42阅读
0评论
0点赞
发布博客于 2 年前

Mybatis常见面试题总结及答案

1、什么是Mybatis?1、Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。2、MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的...
转载
121阅读
0评论
0点赞
发布博客于 2 年前

高可用架构之限流降级

一、服务等级协议我们常说的N个9,就是对SLA的一个描述。SLA全称是ServiceLevel Agreement,翻译为服务水平协议,也称服务等级协议,它表明了公有云提供服务的等级以及质量。例如阿里云对外承诺的就是一个服务周期内集群服务可用性不低于99.99%,如果低于这个标准,云服务公司就需要赔偿客户的损失。1.1 做到4个9够好了吗对互联网公司来说...
转载
105阅读
0评论
0点赞
发布博客于 2 年前

MySQL的索引结构为什么使用B+树?

前言在MySQL中,无论是Innodb还是MyIsam,都使用了B+树作索引结构(这里不考虑hash等其他索引)。本文将从最普通的二叉查找树开始,逐步说明各种树解决的问题以及面临的新问题,从而说明MySQL为什么选择B+树作为索引结构。一、二叉查找树(BST):不平衡二叉查找树(BST,Binary Search Tree),也叫二叉排序树,在二叉树的基础上需要满足:...
转载
152阅读
0评论
0点赞
发布博客于 2 年前

面试官:你了解乐观锁和悲观锁吗?

前言乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。一、基本概念乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。 乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是...
转载
34阅读
0评论
0点赞
发布博客于 2 年前

面试官最爱的volatile关键字

在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察JVM底层实现以及操作系统的相关知识。下面我们以一次假想的面试过程,来深入了解下volitile关键字吧!面试官: Java并发这块了解的怎么样?说说...
转载
41阅读
0评论
0点赞
发布博客于 2 年前

Java CAS 原理剖析

在Java并发中,我们最初接触的应该就是synchronized关键字了,但是synchronized属于重量级锁,很多时候会引起性能问题,volatile也是个不错的选择,但是volatile不能保证原子性,只能在某些场合下使用。像synchronized这种独占锁属于悲观锁,它是在假设一定会发生冲突的,那么加锁恰好有用,除此之外,还有乐观锁,乐观锁的含义就是假设没有发生冲突,那么我正...
转载
56阅读
0评论
0点赞
发布博客于 2 年前

RPC框架的简单实现

一、RPC理论1.什么是RPC① RPC简介RPC(Remote Procedure Call Protocol)-远程过程调用协议。通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。它假定某种传输协议的存在,如TCP,UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层,因分布式,微服务等而兴起其实简单点来理解,就是比如有一个应...
转载
191阅读
0评论
0点赞
发布博客于 2 年前

2019最新整理JAVA面试题附答案

包含的模块:本文分为十九个模块,分别是:Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM如下图所示:共包含 208 道面试题,本文的宗旨是...
转载
372阅读
0评论
0点赞
发布博客于 2 年前

权限系统设计

前言权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。目前在公司负责权限这块,所以对权限这块的设计比较熟悉,公司采用微服务架构,权限系统自然就独立出来了,其他业务系统包括商品中心,订单中心,用户中心,仓库系统,小程序,多个APP等十几个系统和终端1.权限模型迄今为...
转载
963阅读
0评论
3点赞
发布博客于 2 年前

后端必备 Nginx 配置

防盗链location~*\.(gif|jpg|png)${#只允许192.168.0.1请求资源valid_referersnoneblocked192.168.0.1;if($invalid_referer){rewrite^/http://$host/logo.png;}}根据文件类型设置过...
转载
66阅读
0评论
0点赞
发布博客于 2 年前

Redis的最常被问到知识点总结

1.什么是redis?   Redis 是一个基于内存的高性能key-value数据库。2.Reids的特点     Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最...
转载
125阅读
0评论
0点赞
发布博客于 2 年前

为什么选择B+树作为数据库索引结构?

背景首先,来谈谈B树。为什么要使用B树?我们需要明白以下两个事实:【事实1】不同容量的存储器,访问速度差异悬殊。以磁盘和内存为例,访问磁盘的时间大概是ms级的,访问内存的时间大概是ns级的。有个形象的比喻,若一次内存访问需要1秒,则一次外存访问需要1天。所以,现在的存储系统,都是分级组织的。最常用的数据尽可能放在更高层、更小的存储器中,只有在当前层找不到,才向更低层、更大的存储器中...
转载
61阅读
0评论
0点赞
发布博客于 2 年前

java 代理模式:静态代理与动态代理

最近在研究SpringAOP,当然要学习AOP就要知道这么健硕、强大的功能的背后究竟隐藏着怎样不可告人的“秘密”?接下来就是查阅了许多资料详细的研究了一下Java的代理模式,感觉还是非常非常重要的,我们作为一个有“内涵的”程序员就更应该掌握啦!(本文需要细心、带有审视的目光来甄别其中的内容)在学习代理模式的时候我首先要提出几个问题:1、什么是代理模式?举个例子吧:...
转载
43阅读
0评论
0点赞
发布博客于 2 年前

Java 8 In Action

函数式编程函数式编程给我的直观感受: 让方法参数具备行为能力,以使方法能够从容地应对频繁的业务需求变更。(替代接口的匿名实现类的编写) 简化代码的编写,并增强代码的可读性 引言——让方法参数具备行为能力假设你现在是一个农场主,你采摘了一筐苹果如下:Apple现在需要你编写一个方法,挑选出箩筐中颜色为绿色的苹果,于是你轻而易举地写了如下代...
转载
435阅读
0评论
0点赞
发布博客于 2 年前

一千行 MySQL 学习笔记

以下为本人初学 MySQL 时做的笔记,也从那时起没再更新过,但还是囊括了基本的知识点,有时还翻出来查查。/* 启动MySQL */net start mysql/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码/* 跳过权限验证登录MySQL */mysqld --skip-grant-tables-- 修改root密码密码加密...
转载
46阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(十七)Actuator监控实战

什么是actuator官方介绍Spring Boot包含许多附加功能,可帮助您在将应用程序投入生产时监视和管理应用程序。 可以选择使用HTTP端点或JMX来管理和监控您的应用程序,自动应用于审计,健康和指标收集;一句话:springboot提供用于监控和管理生产环境的模块官方文档用来干嘛有时我们需要编写一个定时任务不断查看某应用程序的系统情况(如内存占用率、磁盘占用率、...
转载
61阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(十六)响应式编程webflux和服务器端主动推送SSE

何为响应式想象一个排队买奶茶的场景:场景一客户们买奶茶需要到奶茶店前台排队,前台服务人员收到客户请求(如买一杯柠檬奶茶)后通知后台去做,后台做完后给前台,前台再给客户,该客户消费完成,轮到下一位客户购买场景二客户们买奶茶只需将请求报给前台服务人员(如买一杯巧克力味奶茶),前台服务人员马上打出一张付费票据给客户并告诉客户可在周围稍作等待(可能是十分钟左右),奶茶做好后会通过喇叭通知客...
转载
1556阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(十五)多环境配置

SpringBoot对多环境配置的支持对于多环境配置,你也许有过相关的了解,如 maven profile,目的就在于方便应用程序在运行环境对不同配置文件的切换。有时我们在本机上开发,连接的是本机的测试数据库(dev);而部署到测试(test)或生产环境(pro),连接的可能又是另外一个数据库。这时我们需要定义多个配置文件(如 application.properties,applicat...
转载
186阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(十四)RocketMQ介绍和整合

简介Apache RocketMQ作为阿里开源的一款高性能、高吞吐量的分布式消息中间件特点在高压下1毫秒内响应未延迟超过99.6%。 适合金融类业务,高可用性跟踪和审计功能。 支持发布订阅模型,和点对点 支持拉pull和推push两种消息模式 单一队列百万消息 支持单master节点,多master节点,多master多slave节点概念 Producer:消息生产者...
转载
784阅读
0评论
1点赞
发布博客于 2 年前

SpringBoot2.x(十三)整合ActiveMQ

JMS简介常用场景跨平台 多语言 多项目 解耦 分布式事务 流量控制 最终一致性 RPC调用 上下游对接,数据源变动->通知下属 基础概念JMS提供者:Apache ActiveMQ、RabbitMQ、Kafka、Notify、MetaQ、RocketMQ JMS生产者(Message Producer):监听、接收消息 JMS消费者(Message Co...
转载
853阅读
0评论
2点赞
发布博客于 2 年前

SpringBoot2.x(十二)整合ElasticSearch

本文将介绍Linux7环境下如何安装ElasticSearch、ElasticSearch常见启动异常解决方法、SpringBoot2.x整合ElasticSearch。简介elasticsearch下文简称 es是一个解决大数据搜索(TB/PB级别)的框架。 对比数据库,index、type、document的理解:mysql database table re...
转载
1910阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(十一)Logback日志介绍和SpringBoot整合实战

新日志框架LogBack介绍常用处理java的日志组件有 slf4j,log4j,logback,common-logging等。logback介绍基于Log4j基础上大量改良,不能单独使用,推荐配合日志框架SLF4J来使用。Logback当前分成三个模块:logback-core,logback-classic和logback-access;logback-core是其它两个模块...
转载
940阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(十)整合定时任务和异步任务处理

整合定时任务1. 创建定时任务业务类,如 MyTask2. 在 MyTask上添加 Component注解以作为组件能被扫描到。3. 在定时任务方法上添加 @Scheduled以指明执行该任务的时机package top.zhenganwen.springbootmybatis.task;import org.springframework.scheduling....
转载
535阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(九)整合Redis实战

Redis安装和配置下载windows用户:官方源码压缩包:https://redis.io/download#installation linux用户:wget http://download.redis.io/releases/redis-4.0.9.tar.gztar xzf redis-4.0.9.tar.gzcd redis-4.0.9make启动启动服...
转载
739阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(八)整合Mybatis和事务讲解

持久化数据方式介绍 原始java访问数据库:开发流程麻烦 ​ 1、注册驱动/加载驱动:Class.forName("com.mysql.jdbc.Driver") ​ 2、建立连接 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname","root",...
转载
817阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(七)常用Starter介绍和整合模板引擎Freemarker、Thymeleaf

SpringBoot StarterStarters are a set of convenient dependency descriptors that you can include in your application. You get a one-stop shop for all the Spring and related technologies that you need...
转载
215阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(六)拦截器实战和Servlet3.0自定义Filter、Listener

SpringBoot过滤器从springboot启动日志中我们可以发现springboot默认加载的过滤器:2018-07-19 18:43:32.748 INFO 9332 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter'...
转载
108阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(五)启动方式&启动原理

启动方式jar包启动需引入springboot应用maven构建插件(主要用来指定应用启动类):<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <arti...
转载
292阅读
1评论
0点赞
发布博客于 2 年前

SpringBoot2.x(四)单元测试进阶实战和自定义异常处理

单元测试实战引入SpringBoot测试依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</s...
转载
213阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(三)热部署devtool和配置文件自动注入实战

参考文档官方参考文档如果使用谷歌浏览器,你可以在该页面上通过 ctrl F进行关键字查找以快速检索想查阅的内容。热部署devtool按照传统的调试方式,我们每次修改类文件、配置文件之后都需要重启应用程序以使更改生效并进行测试。这个过程是很浪费时间的。springboot为我们提供了一个热部署插件,扩展类加载器器(ClassLoader)功能,在类文件或配置文件发生变更时自动重新加载...
转载
453阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(二)SpringBoot接口Http

HTTP配置详解@RestController@RestController继承了@Controller和 @ResponseBody,该注解可同时发挥这两个注解的作用,@ResponseBody能将 @RequestMapping标注的方法的返回值以json的形式响应给浏览器@SpringApplication@SpringApplication继承了 @ComponentSca...
转载
521阅读
0评论
0点赞
发布博客于 2 年前

SpringBoot2.x(一)零基础快速入门

本章将介绍手工、自动创建springboot2.x体验快速便捷;spring2.x的maven依赖默认版本号。环境依赖这里使用的是springboot2.x,对环境有着如下要求 jdk1.8+ maven3.2+ 自动创建web应用SpringBoot手工搭建web应用可参考 SpringBoot入门 ,本文在此基础上使用 spring initializer提供的对各类...
转载
299阅读
0评论
0点赞
发布博客于 2 年前

单点登录解决方案-CAS

本文目标目标1:搭建单点登录服务端,开发单点登录客户端 目标2:实现CAS 认证数据源设置 目标3:更换CAS 登录页面 目标4:掌握CAS与SpringSecurity集成 目标5:完成用户中心单点登录功能单点登录单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有...
转载
428阅读
0评论
0点赞
发布博客于 2 年前

从CPU Cache出发彻底弄懂volatile/synchronized/cas机制

变量可见吗共享变量可见吗首先引入一段代码指出Java内存模型存在的问题:启动两个线程t1,t2访问共享变量sharedVariable,t2线程逐渐将sharedVariable自增到MAX,每自增一次就休眠500ms放弃CPU执行权,期望此间另外一个线程t1能够在第7-12行轮询过程中发现到sharedVariable的改变并将其打印private static int share...
转载
626阅读
0评论
0点赞
发布博客于 2 年前

MySQL优化面试

本文概要概述为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比如何优化设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负载均衡、读写分离 SQL语句的优化(收效甚微...
转载
56阅读
0评论
0点赞
发布博客于 2 年前

Spring Boot(一):初步认识

简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。特点1. 创建独立的Spring应用程序...
转载
25阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring中的异步和计划任务

Java提供了许多创建线程池的方式,并得到一个Future实例来作为任务结果。对于Spring同样小菜一碟,通过其scheduling包就可以做到将任务线程中后台执行。在本文的第一部分中,我们将讨论下Spring中执行计划任务的一些基础知识。之后,我们将解释这些类是如何一起协作来启动并执行计划任务的。下一部分将介绍计划和异步任务的配置。最后,我们来写个Demo,看看如何通过单元测试来编排计划任...
转载
97阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring中的异步事件

上一篇 Spring框架中的事件和监听器并未对Spring框架中的异步事件涉及太多,所以本篇是对其一个补充。同步事件有一个主要缺点:它们在所调用线程的本地执行(也就是将所调用线程看成主线程的话,就是在主线程里依次执行)。如果监听器处理同步事件需要5秒钟的响应,则最终结果是用户将在至少5秒内无法看到响应(可以通过Spring框架中的事件和监听器中的例子了解具体)。所以,我们可以通过一个替代方案来...
转载
61阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring框架中的事件和监听器

事件和平时所用的回调思想在与GUI(JavaScript,Swing)相关的技术中非常流行。而在Web应用程序的服务器端,我们很少去直接使用。但这并不意味着我们无法在服务端去实现一个面向事件的体系结构。在本文中,我们将重点介绍Spring框架中的事件处理。首先,会先介绍下事件驱动编程这个概念。接着,我们会将精力放在专门用于Spring框架中的事件处理之上。然后我们会看到实现事件调度和监听的主要...
转载
139阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-使用Spring AnnotationUtils处理注解

通过Java中的注解,程序员可以将配置文件中的一些配置通过使用Java类来实现。例如,在Spring中,通过@RequestMapping注解,我们可以直接在controller内配置URL映射。一般来说,成功者的背后离不开一帮默默支持他的小伙伴,这里同样是,一旦离开其中一个,就甭指望实现所期望的功能,这里要说的一个就是AnnotationUtils。在本文中,我们将会看到Annotation...
转载
208阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring中的Bean post processors

我们之前已经对Spring中的bean工厂后置处理器说道过了。但是,依然留下了一个类似的概念的小尾巴需要来解释,这就是bean后置处理器(bean post processors)。本文将分为两部分。在第一部分,将了解下Spring的单个后处理器bean。第二部分将涉及一些后置处理器(post processors)实际使用的例子。什么是bean post processor?bean...
转载
85阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring中的bean工厂后置处理器

Spring允许我们使用bean来进行大量的操作(这也是我们面向对象思想最常用的表达方式)。我们可以决定它们在容器中是否是(单例或者是原型)唯一实例。通过bean工厂后置处理器我们还可以在初始化时进行一些额外的操作。在这篇文章中,来介绍下bean factory post processor。在第一部分,我们来发现下这个概念背后玄机。之后我们会写一些有趣代码来让大伙更好地理解这个概念。什么...
转载
194阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring框架中的单例和原型bean

最近一直有问我单例和原型bean的一些原理性问题,这里就开一篇来说说的通过Spring中的依赖注入极大方便了我们的开发。在xml通过<bean>定义(或者通过@Bean在配置类里定义)对象之后,然后只需简单地使用@Autowired注解,就可以使用由Spring上下文管理的每个对象。需要注意的是,所有这些对象在Spring中默认都是单例。这一次我们会去讨论Spring如何来管理...
转载
70阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring中的Context loader

我们已经知道,应用程序上下文是Spring管理的bean所在的容器。但是我们依然要问一个问题:这个上下文是如何创建的?那么在这篇文章中我们来探讨这个问题。在第一部分中,会说下在Spring的应用程序上下文中所谓的上下文加载器(context loader)是什么。在第二部分,我们会讨论这个加载器的代码细节。最后一部分,老规矩,写我们自己的一个自定义的loader。在继续之前,需要说一下,loa...
转载
85阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring中的应用上下文

Spring5源码解析-Spring中的应用上下文之前讲到过,Spring中的 beans生活(用这俩字觉得更形象具体)在其应用程序的上下文环境中。在本文中,我们将详细介绍应用程序上下文,另外此篇同样是由域联系到的逃逸分析的关于Spring容器的续篇。关于Spring5源码解析-@Autowired这篇文章讲了通过@Autowired注解进行依赖注入。这一次我们来探讨应用程序上下文(app...
转载
78阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring Web中的处理程序执行链

Spring的DispatcherServlet假如缺少几个关键元素将无法分派请求。其中最重要的一个是处理程序执行链。在这篇文章中,我们把注意力放在处理程序执行链之上。老规矩,第一部分将介绍这个概念。第二部分把目光引入到Spring执行链的世界中。在最后一部分,我们将分析如何在Spring中利用之前自定义DispatcherServlet中实现一个自定义的处理程序执行链。什么是Sp...
转载
41阅读
0评论
0点赞
发布博客于 2 年前

Spring中Bean的作用域

Spring Bean,就像JavaBeans中一样,有其使用的作用域。前面的文章中我们已经看到其中的两个:singleton 和prototype。这次来讲讲另外2个作用域(总共六个,参考本人Spring5文档翻译)。本文将分为两部分。每个部分描述一个bean作用域。所以,在第一个,我们将探讨下request请求作用域。第二个描述的是session和全局session(此在Sprin...
转载
39阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-@Autowired

你有没有思考过Spring中的@Autowired注解?通常用于方便依赖注入,而隐藏在这个过程之后的机制到底是怎样,将在本篇中进行讲述。@Autowired所具有的功能@Autowired是一个用来执行依赖注入的注解。每当一个Spring管理的bean发现有这个注解时候,它会直接注入相应的另一个Spring管理的bean。该注解可以在不同的层次上应用:类字段:Spring将...
转载
40阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-@ModelAttribute

之前我们讨论了Spring中如何通过验证器来达到校验目的。其中有几行我们提到了@ModelAttribute注解。但是,单单理解这个概念还不够,总感觉飘如浮萍。本文将对@ModelAttribute进行解析。将分为两部分。首先将介绍此注解的用法。第二部分将通过具体的代码来分析这个注解和其相应的解析器的细节。什么是@ModelAttribute注解?@ModelAttribute注解...
转载
78阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-使用@Valid进行Spring验证

验证功能在Spring中是很常用的。你可以使用注解或自己的验证器并将其绑定到请求中。本文将重点介绍第一种解决方案。第一部分将介绍注解验证流程。在第二部分中,将介绍基本实现的组件。最后一部分将包含Spring初学者开发人员常见错误的解释:是否有必要直接在验证对象之后放置BindingResult。使用@Valid注解在Spring中进行验证流程要了解使用标准Java @Valid或特...
转载
964阅读
0评论
1点赞
发布博客于 2 年前

Spring5源码解析-Spring中的处理拦截器

在Java的Web应用程序中通常使用过滤器(即filter)来捕获HTTP请求。但它们仅为webapps保留。Spring引入了一种新的方法来实现,更通用,称为处理程序拦截器。本文将分3部分。第一部分来讲Spring处理程序拦截器的理论概念。第二部分,说一说默认的Spring拦截器。最后一部分老规矩,应用实战,我们将写我们自己的处理程序拦截器。什么是Spring中的处理程序拦截器?要了...
转载
144阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-Spring中的处理器handlers

Spring Web应用程序的中心站是DispatcherServlet(具体请查看Spring5源码解析-论Spring DispatcherServlet的生命周期)。这是所有传入请求的中心入口。但如果没有但如果没有众多的handlers,我们依然不能做任何事情。首先,在本文中,我们先解读handler到底是个啥。之后,我们将介绍一些Spring框架中handlers的两种处理类型。最...
转载
57阅读
0评论
0点赞
发布博客于 2 年前

Spring5源码解析-论Spring DispatcherServlet的生命周期

Spring Web框架架构的主要部分是DispatcherServlet。也就是本文中重点介绍的对象。在本文的第一部分中,我们将看到基于Spring的DispatcherServlet的主要概念:前端控制器模式。第二部分将专门介绍Spring应用程序中的执行链。接下来是DispatcherServlet类的解释。在最后一部分,我们将尝试开发一个自定义的dispatcher servlet。...
转载
108阅读
0评论
0点赞
发布博客于 2 年前

Spring框架中的设计模式(五)

通过以前的4篇文章,我们看到Spring采用了大量的关于创建和结构方面的设计模式。本文将描述属于行为方面的两种设计模式:命令和访问者。命令模式这篇文章描述的第一个行为设计模式是命令。它允许将请求封装在一个对象内并附加一个回调动作(每次遇到所所谓的回调大家就只需要理解为一个函数方法就好,省的去浪费那么多脑子)。请求被封装在命令对象之下,而请求的结果被发送到接收者。命令本身不是由调用者执行...
转载
37阅读
0评论
0点赞
发布博客于 2 年前

Spring框架中的设计模式(四)

本文是Spring框架中使用的设计模式第四篇。本文将在此呈现出新的3种模式。一开始,我们会讨论2种结构模式:适配器和装饰器。在第三部分和最后一部分,我们将讨论单例模式。适配器当我们需要在给定场景下(也就是给定接口)想要不改变自身行为而又想做到一些事情的情况下(就是我给电也就是接口了,你来做事也就是各种电器),使用适配器设计模式(这里再说一点,就相当于我们再一个规章制度的环境下,如何去适...
转载
55阅读
0评论
0点赞
发布博客于 2 年前

Spring框架中的设计模式(三)

在之前的两篇文章中,我们看到了一些在Spring框架中实现的设计模式。这一次我们会发现这个流行框架使用的3种新模式。本文将从描述两个创意设计模式开始:原型和对象池。最后我们将重点关注行为模式—>观察者。原型模式这篇文章的第一个设计模式是原型。可以通过官方文档查找有关Spring作用域中的bean作用域的文章中介绍了类似的概念(prototype)。原型设计模式与有用相同名称的(...
转载
34阅读
0评论
0点赞
发布博客于 2 年前

Spring框架中的设计模式(二)

在上一篇中我们在Spring中所谈到的设计模式涉及到了创建模式三剑客和1个行为模式(解释器模式)。这次我们会将眼光更多地关注在具有结构性和行为性的设计模式上。在这篇文章中,我们将看到每个类型的两种模式。首先将关注类型是的结构设计模式。它将包含代理和复合。下一个将介绍行为模式:策略和模板方法。代理模式面向对象编程(OOP)可能是编程中最流行的概念。然而,Spring引入了另一种编码规范,...
转载
33阅读
0评论
0点赞
发布博客于 2 年前

Spring框架中的设计模式(一)

设计模式有助于遵循良好的编程实践。作为最流行的Web框架之一的Spring框架也使用其中的一些。本文将介绍Spring Framework中使用的设计模式。这是5篇专题文章的第一部分。这次我们将发现Spring框架中使用的4种设计模式:解释器,构建器,工厂方法和抽象工厂。每部分将首先解释给定模式的原理。紧接着,将会使用Spring的一个例子来加深理解。解释器设计模式在现实世界中,我们人...
转载
50阅读
0评论
0点赞
发布博客于 2 年前

面试必备:Java线程池解析

前言掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。经典面试题面试问题1:Java的线程池说一下,各个参数的作用,如何进行的? 面试问题2:按线程池内部机制,当提交新任务时,有哪些异常要考虑。 面试...
转载
36阅读
0评论
0点赞
发布博客于 2 年前

Logback配置文件这么写,TPS提高10倍

受台风利奇马的影响很多地方都迎来了强降雨,双休日不能出去玩一起学习吧,就先从最基本的配置讲起再介绍高级特性异步输出日志。如果只想看异步输出日志提升性能的部分请将文章往下拉一点。通过阅读本篇文章将了解到1.日志输出到文件并根据LEVEL级别将日志分类保存到不同文件 2.通过异步输出日志减少磁盘IO提高性能 3.异步输出日志的原理配置文件logback-spring.xmlSpr...
转载
463阅读
0评论
0点赞
发布博客于 2 年前

为了做到微服务的高可用,鬼知道我出了多少张牌

高可用并不是一套整体解决方案,而是由诸多环节组成,一环扣一环,鬼知道为了这些串联起来的环节,我得出多少张牌去应对,才能最终组成一个整个系统的高可用落地方案。什么是高可用在定义什么是高可用,可以先定义下什么是不可用,一个网站的内容最终呈现在用户面前需要经过若干个环节,而其中只要任何一个环节出现了故障,都可能导致网站页面不可访问,这个也就是网站不可用的情况。参考维基百科,看...
转载
58阅读
0评论
0点赞
发布博客于 2 年前

Mysql事务实现原理

开篇相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:事务想要做到什么效果?按我理解,无非是要做到可靠性以及并发处理可靠性:数据库要保证当insert或update操作时抛异常或者数据库crash...
转载
75阅读
0评论
1点赞
发布博客于 2 年前

MySQL命令,一篇文章替你全部搞定

MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下: MySQL常用语句 表(或者数据库)的CRUD 表数据的CRUD,其中表数据查询使用最多,也更复杂。查询可以按照单表还是多表可以分为:单表SELECT查询和多表的联结查询(INNER J...
转载
33阅读
0评论
0点赞
发布博客于 2 年前

MySQL优化面试

本文概要概述为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比如何优化设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负载均衡、读写分离 SQL语句的优化(收效甚微...
转载
33阅读
0评论
0点赞
发布博客于 2 年前

一文看懂java io系统

学习java IO系统,重点是学会IO模型,了解了各种IO模型之后就可以更好的理解java IOJava IO 是一套Java用来读写数据(输入和输出)的API。大部分程序都要处理一些输入,并由输入产生一些输出。Java为此提供了java.io包java中io系统可以分为Bio,Nio,Aio三种io模型关于Bio,我们需要知道什么是同步阻塞IO模型,Bio操作的对象:流,以及如何...
转载
44阅读
0评论
0点赞
发布博客于 2 年前

必看!java后端(最全知识点)

你可能有所感悟。零散的资料读了很多,但是很难有提升。到处是干货,但是并没什么用,简单来说就是缺乏系统化。另外,噪音太多,雷同的框架一大把,我不至于全都要去学了吧。这里,我大体根据基础、Java基础、Java进阶给分了下类,挑的也都是最常用最重要的工具。这篇文章耗费了我大量的精力,你要是觉得好,请不要吝啬你的赞。如果你认同,可以关注我的微信公众号xjjdog,里面讲的就...
转载
2456阅读
0评论
7点赞
发布博客于 2 年前

Java程序员必备的一些流程图

前言:整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习。1.spring的生命周期Spring作为当前Java最流行、最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要;首先容器启动后,对bean进行初始化 按照bean的定义,注入属性 检测该对象是否实现了xxxAware接口,并将相关的xxxAware实例注入给bean,如Bean...
转载
94阅读
0评论
0点赞
发布博客于 2 年前

后端程序员必备:mysql数据库相关流程图/原理图

前言整理了一些Mysql数据库相关流程图/原理图,做一下笔记,大家一起学习。1.mysql主从复制原理图mysql主从复制原理是大厂后端的高频面试题,了解mysql主从复制原理非常有必要。主从复制原理,简言之,就三步曲,如下:主数据库有个bin-log二进制文件,纪录了所有增删改Sql语句。(binlog线程)从数据库把主数据库的bin-log文件的sql语句复制过来。(...
转载
140阅读
0评论
0点赞
发布博客于 2 年前

数据库集群技术漫谈

简介当今世界是一个信息化的世界,我们的生活中无论是生活、工作、学习都离不开信息系统的支撑。而信息系统的背后用于保存和处理最终结果的地方就是数据库。因此数据库系统就变得尤为重要,这意味着如果数据库如果面临问题,则意味着整个应用系统也会面临挑战,从而带来严重的损失和后果。如今“大数据”这个词已经变得非常流行,虽然这个概念如何落地不得而知。但可以确定的是,随着物联网、移动应用的兴起,数据量相比过去会...
转载
53阅读
0评论
0点赞
发布博客于 2 年前

高并发量网站解决方案

一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht...
转载
207阅读
0评论
0点赞
发布博客于 2 年前

线程池的原理及实现

1、线程池简介:多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。一个线程池包括以下四个基本组成部分: 1、线程池管理器(ThreadPool):用...
转载
30阅读
0评论
0点赞
发布博客于 2 年前

Nginx配置文件详细说明

在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络.#运行用户user www-data; #启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件error_log /var/log/nginx/error.log;pid /var/run/nginx.pid;#工作模式及连接...
转载
23阅读
0评论
0点赞
发布博客于 2 年前

Spring 使用注解方式进行事务管理

原文:https://www.cnblogs.com/younggun/archive/2013/07/16/3193800.html使用步骤:步骤一、在spring配置文件中引入tx:命名空间<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XML...
转载
188阅读
0评论
0点赞
发布博客于 2 年前

Java语言规范:基于Java SE 8 下载

Java语言规范:基于Java SE 8pdf
原创
2377阅读
2评论
2点赞
发布博客于 2 年前

面试官让你说说你的缺点,你该怎么回答

我们在面试的时候面试官常常会让你说说你的缺点。一类事发生的次数太多了就不当一回事,其实不然。 首先举几个例子。 “我最大的缺点,就是太执着,不撞南墙不回头……”“我觉得我最大的缺点就是善良,比较容易心软……”“我最大的缺点是太拼了,不懂得平衡工作和生活,之前熬夜加班,身体吃不消就病倒了……” 摸摸脑门问问自己是不是似曾相识,我告诉你这类回答太低级而且不够坦诚。...
原创
8928阅读
0评论
1点赞
发布博客于 2 年前

如何高效地利用时间,提高工作效率?

有朋友说忙忙碌碌一整天任务没有完成,效率极低,不知怎么提升工作效率。 今天将无数的时间管理技巧,总结成了这套「12345法则」,分享给你。 这套法则,大多数都是非常经典的技巧。但是,它们既容易上手,又切实有效。任何一个人,经过一段时间的练习,都可以掌握,并应用到自己的生活和工作中。 一、一件事情 很简单就是在一段时间内,只做一件事情。 在我们的生活或工作...
原创
772阅读
0评论
1点赞
发布博客于 2 年前