自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT哈哈的博客

公众号:IT哈哈

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

原创 JavaScript权威指南(第6版)

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

2020-08-11 06:34:48 416

原创 javaScript资料汇总

https://www.baiyu.tech/v/s/javascript

2020-08-10 21:50:05 263

原创 python学习资料(全)

https://www.baiyu.tech/v/s/python

2020-08-06 14:08:25 334

原创 java学习资料(全)

https://www.baiyu.tech/v/s/java

2020-08-03 10:25:27 1124

原创 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典型应

2020-07-06 11:27:18 956

原创 Docker教程:Docker从入门到实践

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

2020-06-02 10:21:42 358

原创 Maven完整教程

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

2020-05-28 14:24:16 275

原创 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 版本

2020-05-26 08:58:35 381

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

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

2020-05-24 11:23:25 180

原创 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 语言变量.

2020-05-21 17:46:06 1570 1

原创 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 函

2020-05-18 21:21:07 362

原创 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.

2020-05-15 15:41:26 4465 1

原创 jsoup完整教程

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

2020-05-12 17:53:33 476

原创 MongoDB完整教程

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

2020-05-08 16:11:57 2086

原创 Hibernate完整教程

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

2020-05-06 10:02:05 442

原创 Shiro完整教程

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

2020-04-29 13:33:24 589

原创 Spring Security完整教程

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

2020-04-27 11:06:13 1392

原创 Linux命令最全汇总

Linux命令汇总

2020-04-23 09:18:43 114

原创 redis基础知识汇总

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

2020-04-20 09:31:53 127

原创 Memcached完整教程

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

2020-04-15 00:05:28 277

原创 python完整教程

Python基础 Hello World!Python基础 基本数据类型Python基础 序列Python基础 运算Python基础 缩进和选择Python基础 循环Python基础 函数Python基础 面向对象的基本概念Python基础 面向对象的进一步拓展Python基础 list,运算符Python进阶 词典Python进阶 文本文件的输入输出...

2020-04-06 22:09:47 400

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

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

2019-10-23 15:15:35 202

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

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

2019-10-09 16:37:28 1417

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

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

2019-10-08 10:57:00 102

转载 Mybatis常见面试题总结及答案

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

2019-10-03 15:58:32 244

转载 高可用架构之限流降级

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

2019-09-30 14:43:10 293

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

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

2019-09-29 18:33:02 234

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

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

2019-09-27 11:06:30 96

转载 面试官最爱的volatile关键字

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

2019-09-26 09:20:14 117

转载 Java CAS 原理剖析

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

2019-09-25 07:31:05 151

转载 RPC框架的简单实现

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

2019-09-23 14:20:35 534

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

包含的模块:本文分为十九个模块,分别是:Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM如下图所示:共包含 208 道面试题,本文的宗旨是...

2019-09-21 19:04:24 763

转载 权限系统设计

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

2019-09-17 14:18:24 1400

转载 后端必备 Nginx 配置

防盗链location~*\.(gif|jpg|png)${#只允许192.168.0.1请求资源valid_referersnoneblocked192.168.0.1;if($invalid_referer){rewrite^/http://$host/logo.png;}}根据文件类型设置过...

2019-09-16 16:01:20 306

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

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

2019-09-15 14:13:59 183

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

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

2019-09-12 17:04:31 135

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

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

2019-09-11 09:25:56 143

转载 Java 8 In Action

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

2019-09-10 10:50:12 991

转载 一千行 MySQL 学习笔记

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

2019-09-09 15:06:14 88

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

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

2019-09-08 08:49:01 310

空空如也

空空如也

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

TA关注的人

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