月星墙的博客

Better Code, Better Life


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 站点地图

  • 搜索

Java Tools

发表于 2020-10-09 | 分类于 java
在线工具 https://nowjava.com/jar/ 根据jar包名称,查看jar包中文件名信息,如查看druid-1.1.17.jar Hutool https://hutool.cn/docs/ Bean/JSON操作 Bean/Map/JSON相互转化 123456789101112131415161718192021// 注意:Hutool在处理JSON时对Null做了处理JSONNull jsonNull = new JSONNull(); // null会包装成JSONNullSystem.out.println(jsonNull == null); // falseSystem.out.println(jsonNull.equals(null)); // true// ### Bean/Map <==> JSON; 深度拷贝String str = JSONUtil.toJsonStr(person); // Bean => JSON字符串. 生成的字符串字段无顺序(尽管格式化LinkHashMap这种有顺序的对象),有些加密场景可能不适用Person person = JSONUtil.toBean(str, Person.class); // JSON字符串 => BeanPerson newPerson = JSONUtil. ...
阅读全文 »

Electron —— 基于前端构建跨平台桌面应用程序

发表于 2020-09-11 | 分类于 web
简介 官网、w3cschool文档 Electron 使用 JavaScript,HTML 和 CSS 构建跨平台(Mac、Windows 和 Linux)的桌面应用程序 Electron 结合了 Chromium、Node.js 和用于调用操作系统本地功能的 API(如打开文件窗口、通知、图标等) 案例:VS Code、Slack、Facebook Messenger等 相关文章 Electron 与 Vue 的性能优化 简单使用12345# 运行官方示例git clone https://github.com.cnpmjs.org/electron/electron-quick-start.gitcd electron-quick-startnpm installnpm start 与VUE项目结合 将VUE项目集成Electron有两种方式 在自己的 vue 的项目中引入插件,然后打包(本文案例) 将自己的 vue 项目打包,放到官方的 demo 文件中,改变打包路径 通过simulatedgreg/electron-vue等插件创建vue项目,则包含了Electron 大部分组件通过npm设置为淘宝镜像即可加速,但是像electron-mirror、node-sass等组件需要额外设置镜像地址配置到~/.npmrc才能成功下载。可使用mirror-config ...
阅读全文 »

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 IOC源码解析

发表于 2020-09-08 | 分类于 java
简介 参考: https://javadoop.com/post/spring-ioc Spring扩展点参考: https://mp.weixin.qq.com/s/O0W6vCuqQfeAH0UB7elpeA 类关系 类关系图 ^1 ApplicationContext 继承了 ListableBeanFactory,这个 Listable 的意思就是,通过这个接口,我们可以获取多个 Bean。最顶层 BeanFactory 接口的方法都是获取单个 Bean 的 ApplicationContext 继承了 HierarchicalBeanFactory, Hierarchical 单词本身(分层的)已经能说明问题了,也就是说我们可以在应用中起多个 BeanFactory,然后可以将各个 BeanFactory 设置为父子关系 AutowireCapableBeanFactory 这个名字中的 Autowire,它就是用来自动装配 Bean 用的,但是仔细看上图,ApplicationContext 并没有继承它,但是使用组合可以获取它,从 ApplicationContext 接口定义中的最后一个方法 getAutowireCapableBeanFactory() 可说明 ConfigurableListableBeanFactory 也是一个特殊的接口,看图,特殊 ...
阅读全文 »

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 参 ...
阅读全文 »

Eureka源码解析

发表于 2020-08-21 | 分类于 src
简介 简单使用参考 Eureka服务发现 参考:http://www.iocoder.cn/Eureka/ 客户端初始化 客户端在引入pom依赖后,通过@EnableDiscoveryClient即可开启服务发现功能,因此以此注解为入口进行查看源码 ^1 此类属于spring-cloud-commons-2.0.2.RELEASE.jar包下,为 springcloud 对 netflix-eureka 的封装 @EnableDiscoveryClient 注解是用来启用 DiscoveryClient 的实现,核心的实现为EurekaDiscoveryClient 123456789101112public class EurekaDiscoveryClient implements DiscoveryClient { public static final String DESCRIPTION = "Spring Cloud Eureka Discovery Client"; private final EurekaInstanceConfig config; // EurekaDiscoveryClient 只是关联了 com.netflix.discovery.EurekaClient,具体的服务发现还是由 EurekaClient 完 ...
阅读全文 »

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 ...
阅读全文 »
1…345…17
smalle

smalle

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