自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (6)
  • 收藏
  • 关注

转载 RPC的通信Netty,Netty的底层是Nio,Java的Io模型你了解多少?

RPC的通信Netty,Netty的底层是Nio,Java的Io模型你了解多少? I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能,Java 共支持 3 种网络编程模型/IO 模式:BIO、NIO、AIO。什么是BIO?同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器 端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销、BIO 方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并

2021-08-17 09:54:05 80

原创 万字长文-MySQL锁原理解析

一、前言 这篇文章的目的是帮助你理解清楚MySQL锁的机制,时间也较为仓促没有足够的精力把各种场景的加锁过程一一列举并加之分析;同时没有太多的精力验证网上的言论的准确性。目前根据我现在了解的内容,同时参考参考官方文档,阐述一下本人当前的理解。本文仅供参考,能力有限,如有错误还望海涵指正。二、版本说明 不同的参数设置,不同版本号,对于结果的影响非常大,所以我将尽可能列出我认为的有用版本号、参数帮助读者重现文中内容。1.数据库版本``mysql> select version();+

2021-08-03 20:32:56 2610

原创 自己动手写-手写一个spring boot starter

自己动手写之手写一个starter 什么是starter?starter是SpringBoot中的一个新发明,它有效的降低了项目开发过程的复杂程度,对于简化开发操作有着非常好的效果。提供一个开箱即用的组件。手写一个starter假设我们有个需求,我们需要序列化一个对象,当工程中存在FastJson的com.alibaba.fastjson.JSON类时使用FastJson序列化,如果不存在就则进行简单的toString操作。我们首先定义一个接口有一个格式化方法public interface&nb

2021-10-12 15:03:44 299

原创 手写篇——教你手写spring(使用JNDI完善依赖查找,并整合JPA)

前言之前写过一篇JNDI实现一个依赖注入的文章,很多小伙伴都表示很疑惑,那玩意儿有啥用,包括这篇文章可能你也觉得没啥用,确实在实际开发中都是使用spring来做依赖查找、依赖注入,那你有没有想过在没有spring的年代是怎么做依赖查找和依赖注入的?没错就是可以使用JNDI。写JNDI系列文章的目的是为了了解JAVAEE单体架构是如何演变成现在spring 技术栈的,这是一个系列后面将一步一步演进成主流spring、spring boot、spring cloud风格,具有Spring、SpringMVC完整

2021-10-12 14:59:55 246

原创 手写一个RPC框架

想要手写出一个东西我们肯定要先知道一个东西的原理,我们先看看一个RPC框架需要哪些东西。如何调用他人的远程服务? 由于各服务部署在不同机器,服务间的调用免不了网络通信过程,服务消费方每调用一个服务都要写一坨网络通信相关的代码,不仅复杂而且极易出错。要让网络通信细节对使用者透明,我们需要对通信细节进行封装,我们先看下一个RPC调用的流程涉及到哪些通信细节:服务消费方(client)调用以本地调用方式调用服务;client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体;client st

2021-08-23 16:42:43 121

转载 你真的了解synchronized和volatile吗?

什么是cas?cas:compare and swap 比较然后交换,它在没有锁的状态下可以保证多线程的对值得更新。我们可以看一下在jdk中对cas的应用:/** * Atomically increments by one the current value. * * @return the updated value */public 

2021-08-21 11:54:34 112

转载 史上最全的RabbitMQ-总结

三不猴子 我们是一对程序员,希望能与你分享技术与生活。 15篇原创内容 ...

2021-08-19 17:34:39 410

转载 HTTPS的加密原理你知道吗?什么是中间人攻击?什么是对称加密什么是非对称加密?

HTTPS的加密原理你知道吗?什么是中间人攻击?什么是对称加密什么是非对称加密?1、什么是HTTPS?是一种通过计算机网络进行安全通信的传输协议。HTTPS是在HTTP上建立SSL/TLS加密层,并对传输数据进行加密,简单来说就是安全版的HTTP协议。2、TLS/SSL 协议介绍TLS/SSL 的功能实现主要依赖于三类基本算法:散列算法 、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。SSL 协议介绍3、加解密相关知识介绍3

2021-08-18 10:41:05 229

原创 类的加载过程-面试必问

类的加载过程 loading 加载通过双亲委派机制进行加载。主要出于安全的考虑。父加载器不是加载器的加载器,也不是父类加载的加载器。linking 链接verification 验证preparation 准备 静态变量赋默认值,private static int test =10; 在这个阶段只是 test赋默认值0,而不是10。resolution 解析 将类、方法、属性等符号引用解析为直接引用。常量池中的各种符号引用解析为指针,偏移量等内存地址的直接引用。initalizing 初始化  

2021-08-03 20:58:24 129

原创 为什么你的insert就死锁了

一、前言本以为只需要系统学习一个较完全的逻辑,但是实际牵扯很多innodb锁相关知识及加锁方式。我好像并没有那么大的能耐,把各种场景的加锁过程一一列举并加之分析;亦没有太多的精力验证网上的言论的准确性。只好根据现在了解的内容,参考官方文档,说说自己当前的理解。本文仅供参考,如有误导,概不负责。二、现场状态不同的mysql版本,不同的参数设置,都可能对加锁过程有影响。分析加锁机制还是应当尽可能多地列举一下关键参数,例如:当前mysql版本、事务隔离级别等。如下,仅仅只列出个别比较重要的参数。1

2020-09-01 22:22:27 751

jOOQ-manual-3.10.pdf

jooq使用指南英文版,jOOQ不仅仅是一个库,可以帮助您针对生成的可编译模式构建和执行 SQL 。jOOQ附带了许多工具。以下是jOOQ随附的一些最重要的工具: jOOQ的执行侦听器:jOOQ允许您将自定义执行侦听器连接到jOOQ的SQL语句执行生命周期中,以便集中协调对正在执行的SQL执行的任意操作。使用它进行日志记录,身份生成,SQL跟踪,性能评估等。 日志记录:jOOQ内置了标准的DEBUG记录器,用于记录和跟踪所有已执行的SQL语句和获取的结果集 存储过程:jOOQ支持您喜欢的数据库的存储过程和功能。所有例程和用户定义的类型都将生成,并且可以作为函数引用包含在jOOQ的SQL building API中。 批处理执行:当执行大量SQL语句时,批处理执行很重要。与JDBC相比,jOOQ简化了这些操作 导出和导入:jOOQ附带了一个API,可以轻松导出/导入各种格式的数据 如果您是喜爱的,功能丰富的数据库的高级用户,jOOQ将帮助您访问数据库的所有特定于供应商的功能,例如OLAP功能,存储过程,用户定义的类型,特定于供应商的SQL,功能,等等。本手册中提供了示例。

2020-06-18

人工智能图片写html

深度学习改变前端开发,到了那一天,前端工程师甚至可能大部分软件工程师都要下岗了,全部代码实现都自动化处理,虽然可能会让工程师掉饭碗,但这又何不是每个工程师向往的那一天呢

2018-02-08

人工智能标准化白皮书 2018

人工智能标准化白皮书(2018版)我别人发的那么贵 咱这个就只收10分吧

2018-02-01

2016年飞思卡尔平衡车代码

2016年飞思卡尔平衡车代码,老衲凭借这段代码获得了区赛第二,决赛第五的成绩。

2018-01-27

iview的一个管理系统,提供给大家学习用

iview的一个管理系统,提供给大家学习用,iview用起来还是很爽的

2018-01-26

慕课网--Java 从零打造企业级电商实战 - 服务端

慕课网,Java 从零打造企业级电商实战 - 服务端。。。。。第1章 课程介绍(实战本项目需具备Java,SSM,Linux等基础) 本章详细介绍Java服务端课程的内容,项目演示(http://www.happymmall.com)(前端课程:http://coding.imooc.com/class/109.html),然后还介绍下课程安排,最后会讲解一下高大上的架构是如何一步一步从一台服务器演变到高性能、高并发、高可用架构的过程并讲解在这过程中大型架构演进思想以及代码演进细节。(特别说明:... 第2章 开发环境安装与配置讲解、实操(linux平台【推荐】或windows平台) 考虑到学习这门课程的同学自己的电脑系统有的可能是Linux的,有的可能是Windows的,为了降低大家在搭建环境这块的难度和需要避免的坑,本章将手把手领大家分别windows和linux环境(推荐)下安装jdk、tomcat、maven、vsftpd、nginx、文件服务器、mysql、git安装、配置验证。在这章中可以学到linux权限、linux服务、ftp服务器... 第3章 数据表结构设计(表结构,表关系,索引,时间戳) 本章将详细讲解我们课程中所使用的数据表结构,表关系,索引,时间戳,带着大家认识高精度字段类型,富文本字段类型,会重点讲我们本次课程在设计数据表的思路和思想,同时会和大家分享在数据表设计中有哪一些经验、技巧和注意的点。... 第4章 项目初始化 本章将手把手领大家初始化数据库,安装idea、配置jdk、tomcat、maven并通过archetype创建web项目,讲解maven的pom文件配置,使用git对初始化代码提交。使用mybatis-generator、mybatis-plugin、mybatis-pagehelper,并生成我们项目所需的dao层代码文件。对spring官方demo进行指引。并详细讲解spring、springmvc、logback、f... 第5章 用户模块开发 本章将带大家完成用户模块功能的开发并结合实际案例讲解如何避免横向越权、纵向越权安全漏洞。MD5明文加密和增加salt值。guava缓存的使用,高复用服务响应对象的设计思想及抽象封装。mybatis-plugin的使用技巧。 第6章 分类管理模块开发 本章将带大家完成分类管理模块功能的开发,并讲解递归分类,并且支持分类无限层级树状结构,通过分类对象的排重讲解重写hashcode方法和equal方法的重要性。 第7章 商品管理模块开发 本章我们一起完成商品模块的开发,完成后台商品的创建、富文本的处理,前台产品的搜索、列表、详情。手把手领着大家对接FTP服务器,编写springmvc文件上传,使用文件流读取properties文件,详细讲解抽象POJO、BO、VO对象之间的转换关系及解决思路,joda-time快速入门,Mybatis对where语句动态拼装的几个版本演变 ,Mybatis... 第8章 购物车模块开发 本章我们一起完成购物车模块的开发,一起封装购物车高复用的核心方法并解决浮点型在商业运算中丢失精度的问题,并针对几个不同的case详细讲解,同时就Bigdecimal源码进行讲解。 第9章 收货地址管理模块开发 本章将带大家一起完成收货地址是增删改查的功能,同时会讲解到SpringMVC数据绑定中的对象绑定,对mybatis自动生成主键的处理,进行配置和使用的讲解。并进一步巩固横向越权漏洞 第10章 支付模块开发 本章将带大家完成支付模块的开发,同时会讲解支付宝对接的核心文档,支付宝的配置,并调通支付宝官方demo,解析支付宝SDK源码,生成二维码并持久化到图片服务器,手把手把支付宝集成到我们的项目当中。并分享外网穿透和远程调试对接的技巧。... 第11章 订单管理模块开发 本章将带大家一起完成订单的信息填写,订单生成,和商品模块、购物车模块、用户模块的关联关系。让大家学习到如何为接下来要做的支付预留扩展性的思路。如何避免业务逻辑中容易发生的横向越权和纵向越权等安全漏洞。​同时引出如何可以避免未来在SOA架构中容易引起故障的枚举引起的坑。并带着大家设计出实用、安全、扩展性... 第12章 云服务器线上部署与自动化发布,验证,故障排查与解决 本章我会教大家把我们之前开发完成的代码发布到线上,包含阿里云的玩法,线上服务器的配置、线上域名的解析、线上vsftpd、nginx等等配置、线上基于shell的发布脚本的开发,线上环境的验证,故障排查与解决等内容,让我们的开发结果跑在真实的生产环境。让你轻松+愉快地把自己的项目发布到线上可供随时访问。... 第13章 课程回顾与下期展望

2017-09-10

空空如也

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

TA关注的人

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