自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 POISX线程信号量的实现原理

信号量源码简析

2021-07-11 20:46:36 310

原创 Vue deep选择器

Vue文件的<style></style>进行编译时, 如果没有加scope限定, 就不会在当前template生成的DOM元素上添加[data-v-xxx]属性, 里面定义的样式也会在全局起作用如果添加了scope限定, 会将<template>中的每个元素加入[data-v-xxxx]属性来确保style scoped仅本组件的元素而不会污染全局加了scope后会有一个问题: 如果在当前组件中又嵌入了子组件, 那么子组件标签上添加的class都会被添加到子组件.

2020-11-24 18:48:34 473

原创 Koa-router异步返回ctx.body失效的问题

情景复现router.put('/category/:id', (ctx, next) => { const data = ctx.request.body db.updateCategoryById(ctx.params.id, data) .then((doc) => { if (doc) ctx.body = { status: 0, message: '修改参数成功' } else ctx.body = { status: -2, message

2020-11-20 17:33:47 3320 5

原创 微信小程序--calc无效问题

问题在使用scroll-view时,用height: calc(100% - 180rpx);设置高度无效百度在网上查了一下, 基本都是一个办法, 就是给scroll-view加一个父元素, 给父元素设置高度. 但是根据官方文档, scroll-view必须设置height属性才能正确滚动分析其实问题出在了100%, 如果设置为100%, 就会默认用滚动组件中的所有元素把当前页面撑开, 比如每个元素高100rpx, 共有10个, 屏幕高度800rpx, 那么100%=1000rpx, 所以前面的.

2020-05-19 11:21:04 3231 2

原创 Netty解决粘包和分包问题

Netty提供的解码器Netty提供的解码器的基类是ByteToMessageDecoder, netty默认提供的几个非常有用的解码器都是它的子类FixedLengthFrameDecoder: 适用于业务包长度固定的情况, 比如TS流, 构造器传入每个业务包的固定长度值, 解码器接收到数据后, 会按照定长来划分业务包并包业务交给后续的处理器(如自定义的handler), 如果当前接收的数...

2020-02-27 15:01:13 2242

原创 VMware安装Ubuntu虚拟机的若干问题小结

文章目录分辨率问题问题描述解决办法1:重设分辨率(重启无效)解决办法2:重装tools(无效)解决办法3:VMware设置(有效)虚拟机无法正常打开问题描述解决办法虚拟机上网问题问题描述前提解决办法1: NAT(可以上网不能互通)解决办法2: 桥接(可以互通)分辨率问题问题描述新安装的虚拟机, 分辨率非常小, 大概是800x600, 修改分辨率后重启虚拟机, 分辨率又恢复到800x600...

2019-09-06 17:48:34 404

原创 mapper--mybatis封装插件

文章目录mapper简介官网Mybatis的痛点使用通用Mapper和Spring集成实体类映射创建mapper接口接口方法说明基础接口select基础接口insert基础接口update基础接口deletemapper简介通用mapper是一个可以实现任意Mybatis通用方法的框架,项目提供了常规的增删改查操作以及Example相关的表单操作。官网https://gitee.com/f...

2019-09-02 14:28:50 455

原创 微服务架构视频笔记 01 Docker简介

视频地址: https://www.bilibili.com/video/av62628434文章目录容器和传统虚拟机的区别容器架构图传统虚拟机架构图Docker的优势高效资源利用快速启动环境一致持续交付和部署轻松迁移维护扩展总结容器和传统虚拟机的区别传统虚拟机技术是虚拟出一套硬件后, 在其上运行一个完整操作系统, 在该系统上再运行所需应用进程; 而容器内的应用进程直接运行于宿主的内核, 容...

2019-08-23 17:46:02 703

翻译 Jackson之ObjectMapper对象的使用

文章目录1 简介2 Jackson的数据绑定3 Jackson ObjectMapper对象示例4 反序列化ObjectMapper从JSON属性匹配到Java属性的过程从JSON字符串读取Java对象从JSON Reader对象读取Java对象从JSON文件读取Java对象从URL获取JSON数据读取Java对象从Java InputStream获取JSON数据读取Java对象从字节数组获取J...

2019-08-21 14:42:07 22461

翻译 JavaWeb插件合集 Jackson之快速开始

[翻译]https://github.com/FasterXML/jackson-databind本文翻译自Jackson的GitHub的快速开始手册文章目录依赖1分钟教程: POJO类和Json的互相转换3分钟教程: 处理通用集合, 使用树模型(Tree Model)5分钟教程: 流处理(Streaming parse), 生成器(generator)10分钟教程: 配置(configura...

2019-08-20 18:16:03 643

原创 Jackson之注解大全

Jackson简介

2019-08-19 18:21:01 18250 2

原创 15. HttpClient简介

文章目录HttpClient简介特点使用流程实例GETPOSTHttpClient简介HTTPClient是Apache Jakarta Common下的子项目, 用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient相比传统的JDK自带的URLConnection,增加了易用性和灵活性,它不仅使客户端发送HTTP请...

2019-08-19 14:19:43 190

原创 14. 改进的单体架构----初步实现分布式部署

分布的单体架构图192.168.0.1 : 后台管理服务器, 可以进行数据库的读写, 不对用户提供界面和接口192.168.0.2 : 应用网关服务器, 对数据库进行只读, 作为数据访问层和业务逻辑层, 通过API接口(如RESTful)向界面展示层提供服务192.168.0.3 : 界面展示服务器, 浏览器的请求都发送到该服务器, 作为控制器和视图层, 处理用户的web请求, 向应用接...

2019-08-19 11:12:16 336

转载 [转]Controller方法的重定向RedirectAttributes参数的用法

关于重定向RedirectAttributes的用法RedirectAttributes是Springmvc3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的的工具类他有两种带参的方式:第一种:redirectAttributes.addAttributie("prama",value);这种方法相当于在重定向链接地址追加传递的参数,例如:redirectAttribu...

2019-08-16 12:16:50 363

转载 [转]MySql设置UTF-8支持中文

查看一个 database 或一个 table 的编码show create database zhrq95_database;show create table zhrq95_table;创建 table 的时候就使用 utf8 编码在每次创建表的时候都在最后加上 character set = utf8 即可:如:create table tbInfo (id int auto...

2019-08-16 12:11:47 481

原创 Sqlite数据库导入到MySQL中

导出Sqlite数据库下载sqlite3命令行工具,进入命令行切换目录到数据库文件所在目录【把数据库文件拷贝到sqlite3目录下则跳过这步】注意:在Windows下,目录是用\,在这里要输入两个\\,进行转义打开数据库文件,设置导出的文件名,执行导出指令说明:如果只导出某个表,可以执行.dump table_name指令,否则就是导出整个数据库得到的文件就是OrgServer.s...

2019-08-16 12:10:22 10641

原创 QT技巧汇总

设置组件随窗体变化自动调整大小有两个方法:在ui设计器里面,对整个窗口应用布局模式。各个组件会根据布局模式自动调整位置。在主窗体构造函数中,使用setCenterWidget(ui->component);来设置居中组件。居中组件会铺满窗口,并随窗体大小自动变换。这种方式参数不能是布局类型(如VerticalLayout对象),但可以是splitter对象。这里设置的是窗体...

2019-08-16 12:08:46 297

原创 BUG记录:JUnit和Spring版本不兼容导致的bug

Junit必须和Spring保持版本的兼容,即Juint4对应Spring4,Junit5对应Spring5而两种方式下,加载测试框架的代码不同Junit4和Spring4如下:@RunWith(SpringJUnit4ClassRunner.class)Junit5和Spring5如下:@ExtendWith(SpringExtension.class)如果版本不匹配,会导致注解...

2019-08-16 12:03:47 548

原创 BUG记录:数据库URL未配置时区导致的bug

问题描述在jdbc.properties中设置了数据库配置参数,如下:# JDBCjdbc.driverClass=com.mysql.cj.jdbc.Driverjdbc.connectionURL=jdbc:mysql://localhost:3306/orgserver?characterEncoding=UTF-8jdbc.username=rootjdbc.password=...

2019-08-16 12:02:35 323

原创 09. Spring整合Druid

文章目录Druid简介Spring整合DruidPOM添加配置Spring Durid配置文件配置Druid监控中心启动服务Druid简介Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计SQL信息、SQL性能收集、SQL注入检查、SQL翻译等,程序员...

2019-08-16 12:00:09 299

原创 08. MyBatis简介

文章目录MyBatis简介体系结构接口层数据处理层基础支持层MyBatis与Hibernatehibernate的缺点MyBatis的特点MyBatis架构图MyBatis简介MyBatis是一个优秀的基于Java的持久层框架,内部封装了JDBC,开发者只需关注SQL语句本身(即业务),而不用再花费精力处理如注册驱动、创建Connection、配置Statement等繁琐过程(即技术)。MyB...

2019-08-16 11:59:22 152

原创 07. Maven的模块化-项目构建

文章目录Maven模块化开发开发流程工程的基本目录结构创建根项目(工程)创建统一的依赖管理添加`pom.xml`文件创建依赖包管理设置工程的构建参数创建通用的工具类添加领域模型(domain)项目添加后台管理(admin)项目创建前端(ui)项目创建WebApi项目Maven模块化开发在多人协同开发时,特别是规模较大的项目,为了方便日后的代码维护和管理,我们会将每个开发人员的工作细分到具体的功...

2019-08-16 11:58:16 253

原创 06. 添加SpringMVC的拦截器

文章目录拦截器简介常见应用场景第一个SpringMVC拦截器创建拦截器在spring-mvc.xml中注册拦截器拦截器简介面向切面的思想SpringWebMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。常见应用场景日志记录:记录请求消息的日志,以便进行信息监控、信息统计、计算PV(page view)数等权限检查:如登录检测,进入...

2019-08-16 11:55:41 101

原创 05. 添加Controller和请求映射

文章目录添加Controller类注解说明@Controller@RequestMapping@Autowired@RequestParam其他说明添加Controller类package com.bailiang.myshop.web.controller;import org.springframework.stereotype.Controller;import org.sprin...

2019-08-16 11:55:05 1131

原创 04. Spring开发的基本配置

文章目录设置pom.xml依赖,添加spring-mvc依赖设置web.xml添加Spring-context配置文件路径和监听器,用于Spring自动创建ApplicationContext对象添加Spring过滤器,用于解决中文显示问题配置Spring的核心分发器:DispatcherServlet设置spring-mvc.xml添加myshop.properties文件并添加配置修改spri...

2019-08-16 11:54:24 124

原创 03. Spring-MVC开发初步

SpringMVC简介SpringMVC也叫SpringWebMVC,属于展示层框架,是Spring框架的一部分。SpringWebMVC提供了MVC架构和用于开发灵活、松耦合的Web应用程序的组件。MVC模式导致应用程序的不同方面(输入、业务、UI)分离,同时提供这些元素直接的松耦合。SpringMVC的MVC各部分功能如下:模型(model):封装了应用程序数据,通常由POJO类组成...

2019-08-16 11:51:42 135

原创 02. 系统架构

系统架构应用系统的整体架构,有两种:三层架构和MVC。目的都是降低系统的耦合度。系统的复杂度:就是系统的耦合度1.什么是三层架构视图层View,服务层Service,持久层DAO。该架构主要用于单体应用。View层:用于接收用户提交的请求Service层:系统的业务逻辑实现部分。约定优于配置。DAO层:直接操作数据库的代码该架构中,采用面向抽象编程,即上层对下层的调用,是通过接...

2019-08-16 11:50:25 237

原创 01. Maven简介

Maven简介Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。在多个开发团队一起工作时,Maven可以按照标准设置在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可以重复使用,Maven让开发人员的工作更轻松,同事创建报表、检查、构建和测试自动化设置。...

2019-08-16 11:49:39 150

原创 QT中使用嵌入窗口

文章目录需求实现1. 在主界面中添加一个`treeWidget`2. 响应树形控件点击事件, 添加右侧布局3. 效果4. 改进使用UI文件第一种非常简单, 添加新文件时, 选择`Qt设计师界面类`第二种方法是如果只有ui文件, 需要一个class关联需求在主窗口中, 左边显示树形结构, 元素是不同类型的节点, 要求根据节点类型不同在主窗口右侧显示不同的控件内容实现这个功能在MFC中实现不是...

2019-08-16 11:18:14 9182 2

原创 QT小技巧汇总

文章目录设置组件随窗体变化自动调整大小设置组件最大、最小宽度组件留白`error: multiple definition of qMain(int, char**)`为函数添加快速注释为新建类添加快速注释设置组件随窗体变化自动调整大小有两个方法:在ui设计器里面,对整个窗口应用布局模式。各个组件会根据布局模式自动调整位置。在主窗体构造函数中,使用setCenterWidget(ui...

2019-08-16 09:49:45 1126

原创 13. Spring事务管理简介

Spring事务管理事务用于数据库的访问,但是一般情况下,需要将事务提升到业务层,即Service层。这样做是为了能够使用事务的特性来管理具体的业务。在Spring中通常可以通过以下三种方式来实现对事务的管理:使用Spring的事务代理工厂管理事务(已废弃)使用Spring的事务注解管理事务(目前最常用)使用AspectJ的AOP配置管理事务Spring事务APISpring的事...

2019-08-13 17:47:56 126

原创 BUG记录:Bootstrap模态对话框连续关闭黑屏

起因在前端引入了bootstrap的模块对话框,作为消息提醒对话框。对话框产生两次作用:第一次提示是否要执行操作,点击确定后,隐藏对话框,调用ajax进行异步操作(同步出现的问题一样);第二次是ajax返回结果,重新弹出对话框,提示结果。代码如下:$(".app-modal-message").html("您确定要删除这些数据么?");//判断确定按钮是否已绑定点击事件,未绑定则绑定let...

2019-08-05 22:58:07 536

原创 自定义tag打包Bootstrap模态对话框并动态加载传值

文章目录Bootstrap的模态对话框自定义tag文件如下:加载方法注意事项动态加载的好处Bootstrap的模态对话框为了复用bootstrap的模态框,将其封装入自定义tag文件中,在jsp中加载。自定义tag文件如下:<%@ tag language="java" pageEncoding="UTF-8"%><%@ attribute name="title" r...

2019-08-04 18:08:47 318

转载 怎么理解分布式、高并发、多线程?(含面试题和答案解析)

【转】https://www.bilibili.com/read/cv3208738文章目录前言什么是分布式?什么是高并发?什么是多线程?三者的区别常见面试题1、分布式系统怎么做服务治理2、对分布式事务的理解3、如何实现负载均衡,有哪些算法可以实现4、分布式集群下如何做到唯一序列号5. 什么是进程6. 什么是线程7. 线程和进程有什么区别8. 多线程的几种实现方式9. 多线程中忙循环是什么10....

2019-08-04 09:33:22 1947

原创 10. Spring整合MyBatis

增加MyBatis依赖在pom.xml增加MyBatis依赖<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version></depende...

2019-08-01 18:47:41 124

原创 JavaWeb常用工具/插件合集——validation和iCheck

1. jQuery Validation表单验证框架引入js<script src="/static/js/jquery-validation/jquery.validate.min.js"></script><script src="/static/js/jquery-validation/additional-methods.js"></...

2019-08-01 16:12:28 480

原创 12. @ModelAttrbute注解

@ModelAttribute 简介@ModelAttribute注解具有三个作用:放在功能处理方法的入参上:用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用放在功能处理方法的返回值上:暴露@RequestMapping注解的方法的返回值为模型数据,用于视图页面展示时使用放在控制器的一般方法(非功能处理方法)上:为表单准备要展示的表单引...

2019-08-01 14:46:46 551

原创 11. SpringMVC表单标签库

声明表单标签库在使用SpringMVC的时候,我们可以使用Spring封装的一系列表单标签,这些标签都可以访问到ModelMap中的内容。我们需要先在JSP中声明使用的标签,具体做法是在JSP文件的顶部加入以下命令:<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form %>【注】 Model...

2019-08-01 12:21:10 196

原创 C++遍历文件夹下的子目录和文件

#include <io.h>#include <stdio.h>void getFiles(string path, vector<string>& files, string postfix){ //文件句柄 long hFile = 0; //文件信息 struct _finddata_...

2019-04-28 11:21:26 8816 2

原创 Mysql error 1045的解决

网上千篇一律给的答案是改配置文件(百度第一页都是),其实改的那项配置是让MySQL按安全模式启动,该模式不用输入密码,看似解决了问题,其实不是问题的原因。搜一下官方文档可以很容易发现,1045的含义是“用户名或密码错误”。所以,再遇到1045,看看自己的用户名密码对不对。。。检查的办法,进入MySQL,查看MySQL.user表中的"user"、"host"、“authentication...

2019-04-09 11:11:16 24719 11

空空如也

空空如也

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

TA关注的人

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