6 cwjokaka

尚未进行身份认证

GitHub: https://github.com/cwjokaka

等级
TA的排名 4w+

【Python3】B站用户数据收集

bilibili_member_crawler业余时间用python写的B站用户信息爬虫仅供学习使用,欢迎来Star(o)/~环境python 3.6+mysql 5.7+下载安装下载源码:git clone git@github.com:cwjokaka/bilibili_member_crawler.git或者在https://github.com/cwjokaka...

2019-07-13 20:30:17

【Linux】记录一次jar打包成RPM包

目录系统环境&前置条件安装rpmbuild创建rpmbuild目录系统环境&前置条件:CentOS-7-x86_64jdk1.8.0_201前置:root用户登录所有操作都基于在/root目录下进行安装rpmbuild很多文章都说执行yum install rpmbuild,但执行后提示说找不到这个包。于是我先搜索yum有哪些关于rpm的包:[root...

2019-05-24 17:41:54

【转载】MySQL查询语句中的IN 和Exists 对比分析

看到这篇文章,解决了我对In和Exists区别的疑惑,记录一下 原文:http://blog.51cto.com/andrewli/2120928背景介绍最近在写SQL语句时,对选择IN 还是Exists 犹豫不决,于是把两种方法的SQL都写出来对比一下执行效率,发现IN的查询效率比Exists高了很多,于是想当然的认为IN的效率比Exists好,但本着寻根究底的原则,我想知道这个结论是...

2018-06-22 09:13:21

【学习Spring原理】之二:Spring最核心的类——DefaultListableBeanFactory

上一章提过的XmlBeanFactory其实是继承自DefaultListableBeanFactory这个类。而DefaultListableBeanFactory是整个bean加载的核心部分,是Spring注册及加载bean的默认实现,而XmlBeanFactory与它唯一不同的地方是,XmlBeanFactory使用了XmlBeanDefinitionReader来读取xml配置,下面的继承...

2018-06-09 00:07:56

【学习Spring原理】之一:最基础的IOC容器接口——BeanFactory

首先,所谓Ioc容器,是指一个能够容纳和管理Bean的容器,而BeanFactory是Spring Ioc容器实现类必须遵守的一个最基础的接口。 《Spring源码深度解析》里有一个最简单的例子: 首先写一个最简单的Bean:package com.ls.spring.bean;public class MyBean { private String name = "Lon ...

2018-06-08 13:21:28

【学习Spring原理】之零:前言

好久都没写过博客啦,最近想研究一下Spring,提升一下水平

2018-06-08 12:39:17

【java web】解决流读完一次就不能再次获取body数据的问题

问题来自我工作业务上的需求:前端请求时需要将json用RSA算法加密,数据经过后端过滤器进行自动解密,这样做的好处是以后不需要在每一个方法里都手动解密一次,增加代码的简洁性、可维护性。但这样一来便会面临一个问题:http的request请求的输入流在过滤器中就已经被读取了(因为需要读取并解密requestbody里被前端加密了的json数据),流只能被读取一次,这样一来数据便传不进contro...

2018-03-20 16:34:35

【HTTP】http协议笔记

以下是本人总结的http协议笔记,参考自博客关于HTTP协议,一篇就够了 与 《深入分析jave web技术内幕》一书HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件,...

2018-03-07 16:56:28

【从零写javaweb框架】(十一)为框架添加事务处理

上一篇我们为框架添加了AOP特性【从零写javaweb框架】(十)加载AOP框架,现在可以利用这个特性来为框架添加事务处理。定义一个事务注解:package org.smart4j.framework.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention

2018-02-18 23:54:01

【从零写javaweb框架】(十)加载AOP框架

上一篇我们开发了一个简单的AOP框架【从零写javaweb框架】(九)开发AOP框架,现在需要在项目启动时自动加载AOP框架。首先在之前写的BeanHelper类中添加一个setBean方法,用于将Bean实例放入BeanMap中: /** * 设置Bean实例 */ public static void setBean(Class cls, Object

2018-02-17 11:24:11

【从零写javaweb框架】(九)开发AOP框架

上一篇我们完成搭建了一个简单的MVC框架,使其可以通过DispatchServlet来处理所有的请求【从零写javaweb框架】(八)请求转发器,这一篇会实现AOP功能。一.什么是AOPAOP(Aspect-Oriented Programming)是对面向对象编程(OOP)的一种补充,可以译为面向切面编程。其中切面是AOP的一个术语,表示从业务逻辑中分离出来的横切逻辑,比如性能监控,日志记录、权...

2018-02-16 17:53:14

设计模式_25:动态代理模式

之前写过一篇关于代理模式的文章设计模式_4:代理模式,但那时写的是静态的代理模式。本篇用两种方法来实现动态代理:JDK动态代理和CGLib动态代理。我个人的理解:动态代理和静态代理的区别是代理类不需要程序员来写,程序会自动生成代理对象。这样做的好处是不必为每个类都写一个代理类,一个代理类可以代理多个类。还是拿静态代理模式文章里的做值日为例子先写一个做值日的接口:publ

2018-02-01 00:08:52

【从零写javaweb框架】(八)请求转发器

上一篇我们实现了把ClassHelper/BeanHelper/IocHelper/ControllerHelper在项目启动时加载进来。【从零写javaweb框架】(七)初始化框架现在开始写请求转发器,请求转发器是MVC的核心:需要编写一个servlet,让它来处理所有的请求。从HttpServletRequest对象中获取请求方法与请求路径,通过ControllerHelper.get

2018-01-31 00:49:56

【从零写javaweb框架】(七)初始化框架

在上一篇【从零写javaweb框架】(六)加载Controller,我封装了请求对象(Request)与处理对象(Handler),并写了ControllerHelper来维护维护Request与Handler之间的映射关系。集合上几篇编写的ClassHelper/BeanHelper/IocHelper/ControllerHelper,我们现在需要做的是在项目启动时把他们都加载进来。p

2018-01-28 23:03:26

【从零写javaweb框架】(六)加载Controller

在上一篇我们实现了依赖注入功能【从零写javaweb框架】(五)实现依赖注入功能现在编写一个ControllerHelper通过ClassHelper,可以获取所有定义了Controller注解的类,然后再通过反射获取该类中所有带有Action注解的方法,获取Action注解中的请求表达式,进而获取请求方法与请求路径,封装一个请求对象(Request)与处理对象(Handler),最后将R

2018-01-28 16:05:13

【从零写javaweb框架】(五)实现依赖注入功能

上一篇我们写了一个方便反射的工具类ReflectionUtil,和一个用来实例化和保存Bean的容器BeanHelper。【从零写javaweb框架】(四)实现Bean容器经过前几篇的积累,我们现在终于可以写依赖注入的功能了,一个简单的IOC并不难实现。先简单介绍一下IOC(Inversion of Control,控制反转),意思是实例化过程并不是由开发者用new的方式来实例化,

2018-01-26 00:43:26

【从零写javaweb框架】(四)实现Bean容器

上一章,我们写了ClassUtil类,用于提供与类操作相关的方法,然后又写了Controller/Service注解来标识框架要加载的类,Action用于标识Controller里的方法,Inject用于实现依赖注入,最后再写了一个ClassHelper来实行Bean类的加载和存取。【从零写javaweb框架】(三)开发一个类加载器本章我们会写一个Bean的容器,用来实例化和保存Bean。

2018-01-25 22:35:37

【mysql索引】之使用索引扫描做排序

前言今天看了《高性能MySQL》的索引扫描做排序章节,并且亲身实践了一下,发现有些结果与原书不一样,个人猜测是MySQL版本不一样造成的,下面分享一下我个人的笔记。简介MySQL 有两种方式生成有序结果:通过排序操作或者按索引顺序扫描。如果EXPLAIN出来type列的值为index,则说明MySQL使用索引扫描来做排序。(这句有疑问,很多情况下都type都不是index,

2018-01-25 17:26:19

【mysql索引】之覆盖索引

今天参考了《高性能MySQL》与几篇博文,总结一下我个人的对覆盖索引的理解。首先,覆盖索引并不是一种新的数据结构,它的意思是在查询的时候,利用到的索引已经完全包含需要查询字段的情况,在这种情况下,查询结果直接就是索引的值,并不需要再利用索引回表查询了。继续拿sakila数据库(MySQL安装好后自带的一个demo数据库)来举例,比如EXPLAIN SELECT ac

2018-01-24 18:08:20

【从零写javaweb框架】(三)开发一个类加载器

上一篇我们写了4个常用工具类,1个维护常量的类,并且通过依赖它们用ConfigHelper实现了配置文件的读取,上一篇链接:【从零写javaweb框架】(二)定义和加载配置项,现在需要开发一个类加载器,用来加载包名下的所有类。现在写一个ClassUtil类,用于提供与类操作相关的方法(本篇文章都会在在框架项目中进行):package org.smart4j.framework.

2018-01-23 22:57:48

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!