月星墙的博客

Better Code, Better Life


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 站点地图

  • 搜索

Spring源码解析

发表于 2020-09-08 | 分类于 java
初始化 参考Spring IOC源码解析 事物 参考:https://www.cnblogs.com/dennyzhangdd/p/9602673.html PlatformTransactionManager 接口 TransactionStatus getTransaction(@Nullable TransactionDefinition definition) throws TransactionException; void commit(TransactionStatus status) throws TransactionException; void rollback(TransactionStatus status) throws TransactionException; TransactionAspectSupport TransactionInterceptor 123456789101112// 存在事物调用时才会进入此拦截器@Override@Nullablepublic Object invoke(MethodInvocation invocation) throws Throwable { // Work out the target class: may be {@code null}. // T ...
阅读全文 »

Spring MVC源码解析

发表于 2020-09-08 | 分类于 java
请求流程 SpringMVC 的整个请求流程 ^2 用户请求发送到前端控制器DispatcherServlet 前端控制器DispatcherServlet接收到请求后,DispatcherServlet会使用HandlerMapping来处理,HandlerMapping会查找到具体进行处理请求的Handler对象 HandlerMapping找到对应的Handler之后,返回一个Handler执行链,在这个执行链中包括了拦截器和处理请求的Handler DispatcherServlet接收到执行链之后,会调用Handler适配器去执行Handler Handler适配器执行完成Handler(也就是我们写的Controller)之后会得到一个ModelAndView,并返回给DispatcherServlet DispatcherServlet接收到Handler适配器返回的ModelAndView之后,会根据其中的视图名调用视图解析器 视图解析器根据逻辑视图名解析成一个真正的View视图,并返回给DispatcherServlet DispatcherServlet接收到视图之后,会根据上面的ModelAndView中的model来进行视图中数据的填充,也就是所谓的视图渲染 渲染完成之后,DispatcherServlet就可以将结果返回给用户了 说明 spri ...
阅读全文 »

Java之HTTP请求

发表于 2020-08-26 | 分类于 java
SpringBoot请求及响应 相关配置 1234# 端口server.port=9090# context-path路径server.context-path=/myapp 请求协议 参考文章 原理参考:spring-mvc-src.md#MVC请求参数解析 https://www.hangge.com/blog/cache/detail_2485.html (POST请求示例) https://www.hangge.com/blog/cache/detail_2484.html (GET请求示例) 常见请求方式 request-method Content-Type postman springboot 说明 post application/json row-json (String userIdUrlParam, @RequestBody User user) String userIdUrlParam可以接受 url 中的参数,使用了@RequestBody可以接受 body 中的参数(最终转成 User/Map/List 对象,如@RequestBody List<Map<String, Object>> items,此时 body 中的数据不能直接通过 String 等接受),而 idea 的 http 文件中 url 参 ...
阅读全文 »

PowerShell

发表于 2020-06-24 | 分类于 lang
简介 github、Doc(其中Reference为所有命令) PowerShell 是一个跨平台的 (Windows, Linux 和 OS X) 自动化和配置工具(框架),基于.NET开发。特别优化用于处理结构化数据 (如 JSON, CSV, XML 等), REST APIs 以及对象模型。它包含一个命令行 Shell、一个关联的脚本语言以及一个用于处理 cmdlets 的框架 启动(需要安装了powershell) 直接在cmd中执行powershell,切换为powershell,命令行会变成PS C:\Users\smalle> 开始菜单-附件-powershell启动 常见命令 命令不区分大小写 123456get-help [command] # 获取某命令帮助man [command] # 获取某命令帮助get-command get-* # 列出了所有get开头的命令。Alias是别名、Cmdlet是powershell格式的命令、Function是函数test-path my-file # 判断文件是否存在,返回True|Falsewirte-host abc # 打印abc. 将自定义输出写入主机,即打印在控制台 通用参数 1234-erroraction # -Erroraction是所有cmdlet的通用参数. silentlycon ...
阅读全文 »

计算机底层知识

发表于 2020-06-16 | 分类于 linux
书籍推荐 计算机:《编码:隐匿在计算机软硬件背后的语言》《深入理解计算机系统》 语言:C JAVA 《C 程序设计语言》《C Primer Plus》 数据结构与算法:《Java 数据结构与算法》《算法》《算法导论》《计算机程序设计艺术》 操作系统:Linux 内核源码解析、Linux 内核设计与实现、30 天自制操作系统、深入理解 linux 内核、深入理解计算机系统 网络:机工《TCP/IP 详解》卷一 编译原理:《编译原理》《编程语言实现模式》 数据库:SQLite 源码、Derby(JDK 自带数据库) 硬件基础知识 计算机的组成 CPU 制作 Intel cpu 的制作过程:https://haokan.baidu.com/v?vid=11928468945249380709&pd=bjh&fr=bjhauthor&type=video CPU 是如何制作的(文字描述):https://www.sohu.com/a/255397866_468626 CPU 的原理 计算机需要解决的最根本问题:如何代表数字 晶体管是如何工作的:https://haokan.baidu.com/v?vid=16026741635006191272&pd=bjh&fr=bjhauthor&type=video 晶体管的工作原理:h ...
阅读全文 »

Mysql练习题

发表于 2020-05-17 | 分类于 db
https://github.com/bjmashibing/InternetArchitect/blob/master/13mysql%E8%B0%83%E4%BC%98/mysql%E7%BB%83%E4%B9%A0%E9%A2%98.md 表结构12345678-- 1.学生表 Student(s_id,s_name,s_birth,s_sex) -- 学生编号, 学生姓名, 出生年月, 学生性别-- 2.课程表 Course(c_id,c_name,t_id) -- 课程编号, 课程名称, 教师编号 -- 3.教师表 Teacher(t_id,t_name) -- 教师编号, 教师姓名 -- 4.成绩表 Score(s_id,c_id,s_score) -- 学生编号, 课程编号, 分数 测试数据1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465--建表--学生表CREATE TABLE `Student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) NOT NULL DEFAULT '', `s_birth` VARCHA ...
阅读全文 »

Mysql锁机制

发表于 2020-05-17 | 分类于 db
https://github.com/bjmashibing/InternetArchitect/blob/master/13mysql%E8%B0%83%E4%BC%98/mysql%E7%9A%84%E9%94%81%E6%9C%BA%E5%88%B6.md 共享锁【S锁】?又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁【X锁】?又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。 mysql的锁机制1、MySQL锁的基本介绍​ 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 ​ 相对其他数据库而言,MySQL的锁机制比较简单,其最 显著的特点是不同的存储引擎支持不同的锁机制。比如,My ...
阅读全文 »

Vue源码

发表于 2020-05-02 | 分类于 web
说明 参考文章 注释源码 源码解析 源码基于Vue v2.6进行说明。github仓库目录结构 123456789# https://github.com/vuejs/vue/blob/2.6/.github/CONTRIBUTING.md#project-structuresrc # 源码目录(基于nodejs) core # 核心代码 index.js # 入口 config.js # 全局配置,相关说明见:https://cn.vuejs.org/v2/api/#%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AE instance # 实例化相关 global-api # 操作全局api observer # 观察者相关dist # 源码打包后代码 Vue原型定义及扩展原型初始化入口 https://github.com/vuejs/vue/blob/2.6/src/core/index.js src/core/index.js12345678910111213141516171819202122232425262728293031323334// Vue 实例化核心方法,其中定义了Vue类(vue原型)import Vue from './instance/inde ...
阅读全文 »

Nodejs

发表于 2020-04-19 | 分类于 lang
安装使用安装 nodejs官网 多版本管理参考: nvm Node版本管理工具 centos 123456789101112131415161718192021222324# 更多版本参考: https://nodejs.org/dist# v16安装参考: https://www.jianshu.com/p/959ca0e5495awget https://nodejs.org/dist/v16.19.1/node-v16.19.1-linux-x64.tar.xzxz -d node-v16.19.1-linux-x64.tar.xztar xvf node-v16.19.1-linux-x64.tarmv node-v16.19.1-linux-x64 /usr/local/nodejs# 加入 export PATH=$PATH:'/usr/local/nodejs/bin'vi /etc/profilesource /etc/profilenode -v# 安装v10wget https://npm.taobao.org/mirrors/node/v10.23.0/node-v10.23.0-linux-x64.tar.gztar -zxvf node-v10.23.0-linux-x64.tar.gz -C /optln -s /opt/node-v10.23.0-l ...
阅读全文 »

NodeJS相关资源

发表于 2020-04-18 | 分类于 service
strapi (CMS后台框架) strapi、github strapi是一个非常方便创建CMS(内容管理系统)的后台框架 使用流程 使用strapi生成项目,默认使用SQLite数据库(也可设置成Mysql等数据库) 通过管理后台设置用户、权限,创建内容表及其字段,字段支持多种类型,还可设置一对一、一对多的关联关系 创建内容表数据,也支持文件上传 通过api访问/操作资源。系统只有一个默认的前台(http://localhost:1337/),前台一般通过其他方式实现 安装 12345678910# 要求nodejs v12.xnpm v6.x# 创建项目npx create-strapi-app my-project --quickstart # npx为npm中的工具# cnpm install # 可手动安装依赖。在管理后台安装插件有时候会失败,从而导致安装的依赖被删除,所有需要手动重新安装依赖# 启动项目npm run develop# 访问后台 http://localhost:1337/admin 使用 在后台创建COLLECTION TYPES的表名和字段名,如表名article。默认Public无访问资源权限,需设置相应权限 在角色权限中设置Public的权限:设置对article资源有查询权限(find),从而可访问端点 http://localhos ...
阅读全文 »
1…345…17
smalle

smalle

162 日志
14 分类
150 标签
RSS
欢迎关注公众号:阿壹族 欢迎关注公众号:阿壹族
© 2016 - 2024 smalle    
由 Hexo 强力驱动
主题 - NexT.Mist
站长统计
AD    
阿里云大礼包
©AEZO.CN    
圣骑科技
【One能抽屉】小程序
杂货铺(省钱小助手)