自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

automannn

活出自己的精彩。

原创 IDEA开源代码生成插件EasyCode源码分析

1.理论准备: 在IntelliJ官网强行看了一会英语,最终放弃。 一是阅读时间过慢,二是全部看有些浪费时间。看了很多相关的博客,个人认为这个很不错,地址:IntelliJ IDEA插件结构。 2.架构分析: 到目前为止,我已经拿到源码调试通过过去了两三天了,始终不能较为连贯的将各种...

2020-05-23 11:54:46 99 0

原创 起点可能不一样,但前进速度是自己决定的

题目是部门老大朋友圈的点评,这里借用来作为标题,十分感谢。个人认为十分精辟。 自己已经很久没有这么激动,同时这么兴奋过了。原因是我差一分过考研学校的复试线发在了朋友圈,很多朋友对我表达了惋惜与同情。 当然将自己的经历发朋友圈一是希望记录自己曾经考研的经历(因为我的成绩单差点就找不到,而且是不能...

2020-05-13 23:41:59 38 2

原创 springMvc后台接收复杂数据(数组,或者嵌套对象,或者嵌套对象数组)的思路

1.问题环境: 1.前端对请求做了封装,改动代价太大; 2.后台对springMvc拦截器做了封装,我们作为框架使用者不能改动; 在这样的环境下,我们由前端向后端传递复杂数据时,后台接口参数如何设计??? 2.使用@RequestBody自动封装参数 注意,这种情况下,前台传递的...

2020-05-11 08:56:51 64 0

原创 springBoot手动装配,自动装配 实例

将今天岗培关于springBoot容器装配的知识整理一下,清理一下知识盲区,通过自己建立的小demo加深印象。 1.建立普通的web项目: 使用spirngBoot后,分分钟可以搭建一个web项目。如下: 搭建好后,通过访问地址可以进行验证: 2.目录解构: 这里单独强...

2020-04-23 22:50:37 125 0

原创 oracle函数笔记

1.字符串操作函数 字符串操作函数 函数名 说明 char(88) 返回指定数值的ascii码 concat(s2,s2) 拼接字符串 initcap(s1) 首字母转大写,其余小写 lower('ABC');uppe...

2020-04-10 12:35:59 31 0

原创 nanomsg笔记--通信协议与传输协议

花了一段时间吧nanomsg的源码给编译了一遍,同时对里面的主要的协议进行了调试。 由于该项目是c写的,发现可读性太差了,调试了很多遍仍然模模糊糊的。再加上该项目中的代码量也不低,所以这个练习是我吸收的最差的一个。 决定不能再在上面耗着了,将目前能够理解的,结合网友的经验帖进行记录一下。 ...

2020-04-05 17:18:24 97 0

原创 nanomsg笔记--stl跨平台的实现

因为自己没有在实际的场景中用过消息队列,因此长期都比较好奇。这段时间正好有空余时间看一看相关的源码。 在网络上搜索了一圈,加上最近在学习c++,便找到了一个叫做ZeroMQ的项目,听说挺出名的,可惜没找到地址,不过找到了它的作者用c重构的版本——nanomsg。 于是就开始操作了。 这个项目蛮...

2020-04-05 14:15:59 45 0

原创 c++ 通信演进level4 ----多线程异步非阻塞通信(AIO)

今天,将最后一个流模型例子给记录一下,代码同样来自于网上。由于一些原因,导致心情不是很好,还是按照既定计划,将该demo的笔记记录一下。源码地址:地址。 它是基于 windows的iocp完成的,所以是异步非阻塞io。 最近看了很多的关于io说明的,各种帖子看的我头大,始终还是没彻底搞懂,估计...

2020-03-11 22:29:53 83 0

原创 c++ 通信演进level2 ----多线程同步阻塞通信(BIO)

这一篇是在昨天写的基础上,查阅了一些资料,对于BIO模型做了更深一步的理解后,实现的代码:地址。 主要修改的代码在于: typedef struct { HANDLE thread; SOCKET sock; }AcceptNode; //保存连接的容器 list<Ac...

2020-03-11 10:17:17 33 0

原创 c++ 通信演进level3 ----多线程同步 非阻塞通信(NIO)

本篇文章的源码同样来自网络上,自己稍加整理,并做一下源码方面的分析。本例子的作用一方面是为了理解http服务器,另一方面,是作为学习流操作的NIO模型层次。地址在这里:地址。 代码结构如下: 首先,定义两个结构体,用于存储 接收的socket链表,以及存储 与当前socket绑定的 th...

2020-03-10 20:33:12 32 0

原创 c++ 通信演进level1 ----单线程同步阻塞通信

本篇,纪录一个在 windows上使用 socket进行通信的例子,代码源自于网上。由于时间过去挺久了,当时我也没有加书签,现在暂时还不好找出处。 文中给出一些关键代码片段,一方面用于巩固我所学的知识,另一方面,用于纵向的技术对比,加深理解。完整的地址在这里:地址。 首先看看项目结构: ...

2020-03-10 18:39:20 71 0

原创 一个Windows下线程池的实现(c++) -------笔记

本篇的代码来自于一个Windows下线程池的实现(c++),同时,由于我的开发环境是clion+cmake,不是用的vs,所以也贴一下源码地址:这里 原文中工作原理图已经很明白的介绍了这个线程池的实现架构,这里为了我学习的需要,从代码角度分析这个小例子。 代码结构方面,我将整个demo...

2020-03-09 10:46:02 77 0

原创 windows系统使用c++实现一个小型jvm(四)------------jvm的gc 以及 jvm是什么

这篇文章记录一下gc和对虚拟机的理解,其它的相关jvm的内容就暂时先不涉及了,以后有机会再弄。 1.gc流程 在前台的文章中,我记录了一个模拟的gc流程,那个里面由于对于根对象 具有很高的抽象程度,因此对java的gc想要去了解一下,这里分块看看gc的源码: // 0. create ...

2020-03-08 15:50:49 61 0

原创 windows系统使用c++实现一个小型jvm(三)------------jvm的启动细节2

这篇文章接着上午记录下。 1.标准输入输出流是怎么来的? 在写java程序的时候,我们经常输出控制台信息,调用的如下代码: System.out.Println(); 在这里,我将解释这个的由来。 jvm在初始化时,必须先加载FileDescriptor,FileDescriptor有三...

2020-03-08 15:09:06 28 0

原创 windows系统使用c++实现一个小型jvm(三)------------jvm的启动细节1

今天上午,主要将昨天下午运行机制中,jvm的launch方法的内容详细讲述一下。 在vm的launch中,有如下方法块: .... HANDLE cur_handle = (HANDLE)(_beginthreadex(NULL, 0, scapegoat, &p, 0, NULL))...

2020-03-08 11:00:55 40 0

原创 windows系统使用c++实现一个小型jvm(二)------------jvm的运行机制

上午写了一下环境介绍,下午接着将jvm的运行机制给记录一下。 我将从源码角度,进行分析,一步步的将一个java程序的生到死进行梳理。 需要注意,启动程序的时候,需要带一个参数,该参数为 当前需要执行 class文件,里面需要包含mian()方法。 当然了,这是其中一种的类启动方式,还有一种ja...

2020-03-07 16:41:08 38 0

原创 windows系统使用c++实现一个小型jvm(一)------------环境介绍及背景说明

背景说明: 首先,本个小demo并不是我自己写的,说是小demo,实际也不小,总共的代码量有3兆多了。原创的大牛在这儿-----用 C++ 实现了一个小型的 jvm!!!! 当我看到这个贴子时候以及它的代码量之后,心里是既高兴,又犹豫的。 为什么呢? 高兴是因为,没想到能够有机会接触这么...

2020-03-07 11:17:15 65 0

原创 windows系统使用c++实现自动垃圾回收的小demo

自从疫情爆发以来,过得挺充实,天天学习,乐此不疲。 可惜就是把实习工作给戳脱了,不然就完美。哈哈哈,不过这段时间的收获还是很足很足的,朕心甚悦!! 这段时间主要在加强对c++ 的学习,练习了很多小的demo,通过对相对底层语言的学习实践,达到掌握很多高层知识的目的(事实上,很多知识记了又忘,忘了又...

2020-03-06 23:30:46 161 0

原创 图解设计模式

面向对象语言设计中,设计模式可以说是其中的精华了。今天抽出点时间,将设计模式再梳理一下。由于主客观条件限制,理解可能存在一些误差,欢迎有不同意见的朋友相互交流探讨,共同进步。 设计模式分为三个大类: 结构型,创建型,行为型; 一.创建型设计模式 1.理解: 我对创建型设计模式理解是: ...

2020-02-17 14:48:46 70 0

原创 2019年终总结

年前二三事+2019年终总结 今天是2020年1月24日,旧历春节,也是普遍认为的一年中最重要的一天。 今天下起了小雨,父母早早出门办事去了,我在家照顾腿受伤的祖母。 如今是我开始进行年终总结的第三年,如往常一样,我并不太想过年,原因自然不肖细说。记忆中,很少有年三十下雨的,这一年倒是有些意外...

2020-01-24 12:23:57 1451 0

原创 初识区块链----比特币的真相

今天抽个时间,将最近一周以来学习的关于区块链的知识做一个记录,方便以后回顾的时候便于理解,也希望能够帮到志同道合的朋友加深理解。 由于各种原因,可能存在理解偏差,请见谅。 为了更好的理解区块链,建议先将两个文档看一下,分别是: 1.中本聪的 比特币白皮书; 2.比特币开发指南;...

2020-01-19 21:55:13 128 0

原创 navicat能连接上,程序连不上的问题

记录一个在时间中遇到的问题: 使用navicat能够正常连接,但是程序启动时,c3p0连接池卡住不同,最后超时退出的问题; 解决方法: 检查一下,navicat连接的地址是否是内网网关, navicat连接网关的时候,貌似会直接回路,最终连接到的实际上是本机的mysql服务。 但是j...

2019-10-22 09:47:38 1716 3

原创 还是"作"一点吧

啊哈,我掐指一算,得有差不多三个月没有认真写过文章了。 emmm,这其中有诸多的原因吧,上班时间自然得认认真真上班,下班之后的空余时间也大多用于准备考研的复习,还有一小部分时间留给了娱乐和胡思乱想。 另一方面,也确实缺少了时间和精力去触碰新的技术或者知识,当然,主观上也发生了一些变化,譬如技术的目...

2019-10-18 22:38:20 85 0

原创 both methods have same erasure: 如何无损扩展代码

遇到了一个问题,需要在原来的代码中动态扩展,原来的代码中是用List泛型的参数类型, 本来想通过泛型类型对 方法进行重载,如下: 发现泛型会在编译器进行类型擦除,怎么办呢? 机智如我,发现可以通过子类对父类的向上兼容完美解决如下: 这样就可以在进行安全扩展了。 有人会说如果...

2019-09-12 16:32:09 1421 3

原创 基于struts实现websocket的实现方案

鄙人有个需求,基于websocket实现浏览器与服务器的通信。 由于之前没有使用过websocket,在网上大致搜索了一圈,寻找websocket的集成方案。 由于事物繁忙,不能再像以前那样每个步骤精细化截图,因此凭着记忆记录一下: 1.基于spring的方式实现,加入spring...

2019-08-30 18:32:09 143 0

原创 计算机组成原理-笔记

计算机组成原理 计算机组成原理............................................................................................................ 1 1. 计算机组成原理概论............

2019-08-13 22:04:34 299 0

原创 javax.persistence.TransactionRequiredException: Executing an update/delete query

今天遇到了这样一个问题,意思都懂,就是没有加事务。 网上大部分的回答是: 在方法上加jpa的@Transaction注解。 试验后发现不能解决问题,后在浏览stackOverflow时,了解到 有人将方法定义为private时,transaction没有生效,发现我的方法protected...

2019-08-11 01:22:59 58 0

原创 java8实现归并操作,数据库多个 多对多映射的处理技巧

需求如下:现有三个实体,A,B,C; A-B:一对多,A-C,一对多, A(一)-B(多)-C(多) 要作为一个视图整体呈现。现需要查出所有的A,及其对应B与C渲染在前端。 方案一: 写一方法,逐个查询: 遍历查询A ===> 根据关联属性 查询多个B,同时查询多个C ==> 组...

2019-07-30 23:45:52 132 0

原创 centos7-java环境之jdk自动化配置

题接上文,继docker容器的进行操作的方案放弃后,我便使用了自动化脚本的方式。 相较于mysql的自动化,jdk的自动化部署要简易很多。 源码如下: #!bin/sh jdk_version_targz=$1 mkdir /usr/local/java tar -zxvf ${jdk_v...

2019-07-27 11:06:04 69 0

原创 centos7-java环境之mysql自动化安装

由于自己在学习时,经常要部署java环境,很多冗余操作隔一段时间不用又搞忘掉,比较费事。 鉴于此,我之前有两个方案:第一个是在docker容器上跑java环境,后面发现那个整合了jdk环境,还没有包括mysql的环境的体积已经达到了1.4个G之多,代价较大,加上一些学习成本,果断放弃该方案; 第二...

2019-07-27 10:24:17 81 0

原创 任务调度的实现眼

1.quartz任务调度框架; 2.jdk的timer; 3.jdk的ScheduledExecutor; 4.linux/unix的系统任务调度:JCronTab; 5.springfrawork的Spring Task;

2019-07-26 16:45:58 44 0

原创 Nacos

是什么? 是一个服务发现组件,同时也是一个配置服务器; 作用? 解决了两个问题: 服务A 如何调用 服务B 的问题; 管理微服务的配置; ...

2019-07-21 15:33:13 568 0

原创 服务发现

让服务消费者总能找到服务提供者的机制,称为服务发现; 服务发现的类比: 服务发现组件 ---> 持久化任务----> 第三方介质 (可以类比为一张 数据库表); 服务消费者 内部具有缓存 ,以及 定时任务去 请求该第三方介质的信息; (预防服务发现组件宕机,同时不同每次调用服...

2019-07-21 15:32:40 113 0

原创 服务提供者与消费者

服务提供者: 服务的被调用方;(为其他微服务提供接口的微服务); --> server 服务消费者: 服务的调用者; (调用其他微服务接口的微服务).; ---> client ...

2019-07-21 15:32:08 201 0

原创 springcloudAlibaba的整合

1.整合Spring Cloud <!-----整合spirnglcoud ---> <dependencyManagement> <dependency> org.springframework.cloud:spring-cloud-depend...

2019-07-21 15:31:37 568 0

原创 springCloud的使用

springCloud的版本命名: 一般的产品: 语义化的版本控制: 如:2.1.5.RELEASE: 目前到第八代 2: 主版本,第几代; 1: 次版本,一些功能的增加,但是架构没有太大变化,是兼容的; 5: 增量版本,bug修复; RELEASE: 里程碑,常用的有:...

2019-07-21 15:31:03 61 0

原创 springCloudAlibaba

spring cloud是什么? 快速构建分布式的工具集; 具体而言: 分布式/版本化的配置管理 spring cloud config, consul ,nacos, zookeeper 服务注册于服务发现 Eureka,Consul,Nacos,Zookeeper 路由...

2019-07-21 15:30:32 149 0

原创 sring的bean神器BeanUtils

用法: BeanUtils.copyProperties(source,target);

2019-07-21 15:30:00 102 0

原创 dto的作用

组装数据,用于前台展示; 相当于 framework的动态对象;

2019-07-21 15:29:29 305 0

原创 restTemplate

简介: springWeb提供的轻量级 HTTP Client,用于简化HTTP调用; 使用: //用http get方法去请求,并返回一个对象 new RestTemplate().getForObject('url',String.class); //http po...

2019-07-21 15:28:58 42 0

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