uRick's PKM uRick's PKM
首页
导航
  • Java
  • 数据库
书单
  • 优质好文
  • 有趣的工具
  • 分类
  • 标签
  • 归档
关于
首页
导航
  • Java
  • 数据库
书单
  • 优质好文
  • 有趣的工具
  • 分类
  • 标签
  • 归档
关于
全部标签
创业 Lambda 任务调度 Mybatis Spring Linux Nacos 阿里生态 二进制 MySQL Git JVM NoSQL Redis 注解 Java JDK 开发工具 Markdown 笔记软件 Vnote Vue 前端 HTTP 多线程 队列 线程池 技术 锁 工具 NIO 设计模式 单例 Maven JavaScript

从0到1:开启商业与未来的秘密

uRick 2022-11-26 笔记 创业

《从0到1:开启商业与未来的秘密》 是由彼得·蒂尔著,高玉芳译

对于许多技术人来说,都梦想有一天单干,独立创业实现财富自由,只有及少数人获得成功,也仅及少数为创业打下一个好的基础,《从0到1》从阐述了诸多初创公司存在的以及不可规避的问题,通过阅读本书,我认识到创业是人一生中最大的风险投资,因此不打没有准备的仗,只有不断的输出储备,才能在需要的时候迸发巨大的能量。

25360617240295

阅读全文

如何阅读一本书: 读懂一本书,精于一件事

uRick 2022-10-25 笔记

《如何阅读一本书: 读懂一本书,精于一件事》 是由轻阅读编写组著

读一本书,精一件事情,好的方法比努力更加重要。本书主要介绍如何阅读一本书,读好一本书!不是为了读书而读书,读书的目的是要从中获益,吸收对自身有价值的营养。只要上过学堂,谁不会读书呢?在未踏足社会时,多数人是为了应试而读书,当进入职场后,或许很多人没有时间读书。即使读书也是为了某一个目的而读,提升技能、升职加薪、拓展视野等,那么在有限的时间里,阅读好一本书,从中获益,讲究是的方法与技巧。

如何阅读一本书

阅读全文

深入理解Lambda

uRick 2022-06-27 技术Java Lambda

Lambda作为JDK8引入的新特性,算是一个颠覆性特性,极大的改变Java原有的编码方式,大大减少了过多的样板代码;Lambda的引入让编码更加简洁易读,同时提高了编码效率。其实它也没那么神秘,底层封装实现其实就是基于匿名内部类来完成的,只不过转换、编译已经由JDK来完成大量的工作。

为了能够在编码中游刃有余,合理运用Lambda能够提高工作效率,改善代码性能,深入了解它的内部实现机制实属必要。而且通过洞悉内部细节,能够从中学到很多巧妙的技巧和实现原理。

lambda-structure

阅读全文

深入探索XXL-Job

uRick 2021-07-25 技术 任务调度

随着业务不断拓展,系统对任务调度需求也逐渐增多,而当前任务调度都分散在各个子模块、子系统,对任务调度维护成本过高,也不利于系统资源管理,为了提高研发能效;调研市面开源软件,通过调研发现 XXL-JOB 比较符合业务需求,而且该分布式任务调度系统在市面非常流行,也比较成熟,而且学习成本低、开箱即用,易扩展;本文主要深入源码,探索 XXL-JOB 的运行机制,以便于更好的运用到项目中。

flowchart

阅读全文

Mybatis的运作机制探索

uRick 2021-06-10 技术Java MybatisSpring

Mybatis 作为成熟的技术,集成到应用也非常简单,编码也非常的灵活。作为一枚后端编码人员,深入学习 Mybatis 对编码能力非常有帮助,只有对内部运作机制深入了解,才能在工作中游刃有余,有利于提高编码质量与效率;并且 Mybatis 技术有许多值得学习和借鉴的东西,非常值得研究一番,本文主要从实战使用出发,一步一步探索它的接口,渐进揭开它神秘的面纱。

核心组件

对象 相关对象 作用
Configuration MapperRegistry
TypeAliasRegistry
TypeHandlerRegistry
包含了MyBatis 的所有的配置信息
SqlSession SqlSessionFactory
DefaultSqlSession
对操作数据库的增删改查的API进行了封装,提供给应用层使用
Executor BaseExecutor
SimpleExecutor
BatchExecutor
ReuseExecutor
MyBatis执行器,是 MyBatis 调度的核心,负责 SQL语句的生成和查询缓存的维护
StatementHandler BaseStatementHandler
SimpleStatementHandler
PreparedStatementHandler
CallableStatementHandler
封装了JDBC Statement操作,负责对JDBCstatement的操作,如设置参数、将 Statement结果集转换成 List集合
ParameterHandler DefaultParameterHandler 把用户传递的参数转换成 JDBC Statement 所需要的参数
ResultSetHandler DefaultResultSetHandler 把 JDBC返回的 ResultSet结果集对象转换成 List 类型的集合
MapperProxy MapperProxyFactory 代理对象,用于代理Mapper接口方法
MappedStatement SqlSource
BoundSql
MappedStatement维护了一条<select|update|delete|insert>节点的封装,包括了SQL信息、入参信息、出参信息
阅读全文

Linux命令集

uRick 2021-05-12 技术 Linux

Linux 作为主流的应用服务器系统,掌握基础应用命令非常有必要;本文收录笔者工作中使用到的常用命令,以及一些使用技巧。

阅读全文

Mybatis基础实战

uRick 2021-04-10 技术Java Mybatis

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口、POJO对象为数据库中的记录。并支持XML 方式配置,以及硬编码方式配置;不过现在随着微服务的盛行,SpringBoot的流行,从XML向注解方式配置实现流行起来了。

它同其他类型ORM类似,目的都是将开发人员从编写复杂、重复的Java 连接数据库重复的工作中解放处理,促使我们提供效率关注业务接下来会逐步介绍相关特性以及功能点。

特性:

  • 使用连接池对连接进行管理;
  • SQL和代码分离,集中管理;
  • 自定义结果集映射
  • 参数映射和动态 SQL;
  • 重复 SQL 的提取;
  • 缓存管理;
  • 插件机制。
阅读全文

深入Nacos

uRick 2021-03-22 技术Java Nacos阿里生态

随着微服务的盛行,许多项目架构均采用服务化架构。随着业务需求不断的变化,服务也在演进迭代,前期也就几个服务,在许多小单位手动维护(😨很鸡肋,服务化了为啥还要了手动呢)服务配置,自己埋的坑总是要填的。随着服务实例越来越多后,实例环境维护成本一天天增加,费时费力,想早点下班陪媳妇又泡汤了,又得跪榴莲咯!那么这时候迫切需要自动化、可视化、统一维护环境信息,有没有什么通用的解决方案呢?

既然想要统一维护,那么可以抽离各个服务实例中的配置信息,通过网络通讯连接集中管理维护配置的中间件;这个过程也就把服务实例本地配置放到远端,需要网络通讯来传递配置信息数据,那么这时候性能相对于本地化配置性能肯定有所损耗的。面对各种又多又复杂到难以维护的实例,这都是小巫见大巫,一点点损耗也非常有价值。既然配置信息需要通过网络传递,那么设计一款这样的中间件必然绕不开网络异常,如何保证网络不可用,依然提供高效服务;这样的中间件,在社区中已经有很多非常成熟生态,也不需要重复造轮子,那来即用,如Nacos、Consul、Spring Cloud Config等。

Nacos是集服务注册与发现、配置管理为一体的中间件,它能够快速实现服务发现注册、服务配置集中维护,服务元数据以及流量管理。

阅读全文

有趣的二进制

uRick 2021-02-02 技术Java 二进制

在计算机中数据的存储都是以0与1表示的,存储设备上也仅有这2种状态,即称为二进制;在开发过程中,高级编程语言直接使用二进制的情况很少,因为底层已经做了很多封装,但是实际开发过程中了,为提高数据运算效率,二进制运算是一个不错的选择。 在实际工作中,有数据参与计算,使用二进制能够显著的提高代码运行效率,接下来主要介绍二进制运算、以及归纳常见的进制运算技巧。

coding_binary

阅读全文

MySQ高级特性

uRick 2021-01-22 数据库技术 MySQL

# 1. MySQL体系结构

MySQL体系结构

  1. Client Connectors: 接入方支持的协议。
  2. Management Serveices & Utilities: 系统管理和控制工具,mysqldump、 mysql复制集群、分区管理等。
  3. Connection Pool: 连接池,管理缓冲用户连接、用户名、密码、权限校验、线程处理等需要缓存的需求。
  4. SQL Interface: SQL接口,接受用户的SQL命令,并且返回用户需要查询的结果。
  5. Parser: 解析器,SQL命令传递到解析器的时候会被解析器验证和解析。解析器是由Lex和YACC实现的。
  6. Optimizer: 查询优化器,SQL语句在查询之前会使用查询优化器对查询进行优化。
  7. Cache和Buffer(高速缓存区): 查询缓存,如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。
  8. Pluggable Storage Engines: 插件式存储引擎。存储引擎是MySql中具体的与文件打交道的子系统。
  9. File System: 文件系统,数据、日志(redo,undo)、索引、错误日志、查询记录、慢查询等。
阅读全文

上一页

下一页

全部标签
创业 Lambda 任务调度 Mybatis Spring Linux Nacos 阿里生态 二进制 MySQL Git JVM NoSQL Redis 注解 Java JDK 开发工具 Markdown 笔记软件 Vnote Vue 前端 HTTP 多线程 队列 线程池 技术 锁 工具 NIO 设计模式 单例 Maven JavaScript
Theme by Vdoing | Copyright © 2019-2024 uRick | CC BY 4.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式