1.什么是AOP AOP为Aspect Oriented programming的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 (1)什么是动态代理? 是在不修改源码的情况下,对目标方法进行相应的增强 (2)动态代理的作用 可以完成程序功能间的松耦合 ...
分类:
编程语言 时间:
2020-12-16 12:49:55
阅读次数:
3
前言前段时间写过一篇《线程池没你想的那么简单》,和大家一起撸了一个基本的线程池,具备:线程池基本调度功能。线程池自动扩容缩容。队列缓存线程。关闭线程池。这些功能,最后也留下了三个待实现的features。执行带有返回值的线程。异常处理怎么办?所有任务执行完怎么通知我?这次就实现这三个特性来看看j.u.c中的线程池是如何实现这些需求的。再看本文之前,强烈建议先查看上文《线程池没你想的那么简单》任务完
分类:
编程语言 时间:
2020-12-16 12:53:27
阅读次数:
6
前言记得一年前分享过一篇《一致性Hash算法分析》,当时只是分析了这个算法的实现原理、解决了什么问题等。但没有实际实现一个这样的算法,毕竟要加深印象还得自己撸一遍,于是本次就当前的一个路由需求来着手实现一次。背景看过《为自己搭建一个分布式IM(即时通讯)系统》的朋友应该对其中的登录逻辑有所印象。先给新来的朋友简单介绍下cim是干啥的:其中有一个场景是在客户端登录成功后需要从可用的服务端列表中选择一
分类:
编程语言 时间:
2020-12-16 12:54:59
阅读次数:
6
前言最近这段时间确实有点忙,这篇的目录还是在飞机上敲出来了的。言归正传,上周更新了cim第一版:为自己搭建一个分布式的IM系统。没想到反响热烈,最高时上了GitHubTrendingJava版块的首位,一天收到了300+的star。现在总共也有1.3K+的star,有几十个朋友参加了测试,非常感谢大家的支持。在这过程中也收到一些bug反馈,feature建议;因此这段时间我把一些影响较大的bug以
分类:
编程语言 时间:
2020-12-16 12:55:58
阅读次数:
6
1. 直接 import 人尽皆知的方法,直接导入即可 >>> import os >>> os.getcwd() '/home/wangbm'复制代码 与此类似的还有,不再细讲 import ... import ... as ... from ... import ... from ... im ...
分类:
编程语言 时间:
2020-12-16 13:00:41
阅读次数:
7
上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些。文件上传的方式Servlet2.5方式Servlet3.0方式SpringMVC方式案例实操Servlet2.5方式文件上传涉及到前台页面的编写和后台服务器端代码的编写,前台发送文件,后台接收并保存文件,这才是一个完整的文件上传。1)前台页面在做文件上传的时候,会有一个上传文件的界面,首先我们需要一个表单,并
分类:
编程语言 时间:
2020-12-16 13:08:48
阅读次数:
11
使用场景在写DAO层的单元测试时,我们往往会遇到一个问题,测试用例所依赖的数据库数据被修改或删除了,或者在一个新的环境下所依赖的数据库不存在,导致单元测试无法通过,进而构建失败。在这种情况下,使用H2内存数据库来模拟数据库环境是一个很好的解决方案。介绍H2是一个短小精干的嵌入式数据库引擎,它有如下特点:纯Java编写,不受平台的限制;只有一个jar文件,适合作为嵌入式数据库使用;h2提供了一个十分
分类:
编程语言 时间:
2020-12-16 13:09:02
阅读次数:
8
import numpy as np import pandas as pd PATH_DES = '/Users/linxianli/Desktop/' df = pd.read_excel(PATH_DES + '工作簿1.xlsx') df.head() # 使用 sklearn 进行分层抽样 ...
分类:
编程语言 时间:
2020-12-17 12:01:00
阅读次数:
1
synchronize 与 volatile 一 使用场景 1 synchronized应用于对象实例与对象方法 2 synchronized应用于类与静态方法 二 对象的内存布局 三 特性: 原子性: 可见性: 有序性: 可重入性: 参考文章: https://openjdk.java.net/g ...
分类:
编程语言 时间:
2020-12-17 12:01:54
阅读次数:
1
在Java中,需要在被拷贝的类上实现Cloneable接口,重写clone方法即可。浅拷贝只能拷贝类中基本数据类型以及String类型属性,不能拷贝类中的引用类型属性。导致两个类中,同一个引用类型属性指向同一个引用对象。 如果在类的引用类型属性对应的类中,实现Cloneable接口,重写clone方 ...
分类:
编程语言 时间:
2020-12-17 12:02:07
阅读次数:
2
import java.io.*; import java.util.*; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.ChannelSftp.LsEntry; ...
分类:
编程语言 时间:
2020-12-17 12:07:17
阅读次数:
1
// 空间复杂度:O(1) // 时间复杂度:是一个算法执行所耗费的时间 // 空间复杂度:运行完一个程序所需要的内存大小 // 稳定性:如果a=b,a在b的前面,排序后a仍然在b的前面 // 不稳定性:如果a=b,a在b的前面,排序后a和b可能交换位置 //基础冒泡写法 时间复杂度O(n*n) v ...
分类:
编程语言 时间:
2020-12-17 12:07:46
阅读次数:
1
1. 安全性问题 (2008年 BUG) 2. springmvc 基于Servlet 实现的, 而Struts2 基于filter 拦截器 3. springmvc 性能优于 struts2 4. struts2 传值方式封装, 每个方法都可以使用,而springmvc 不是 5. struts2 ...
分类:
编程语言 时间:
2020-12-17 12:08:07
阅读次数:
2
在Ubuntu终端中运行python文件,报错 /usr/bin/env: "python\r":没有那个文件或目录 查阅资料后发现:这个文件是从github中clone下来的,可能创建在windows下,多了\r字符。 解决方法如下:使用VI编辑器打开文本,然后进行如下操作: :set ff #然 ...
分类:
编程语言 时间:
2020-12-17 12:12:13
阅读次数:
1
###1. 介绍 略 ###2. 安装 pip install jupyter 如果pip安装失败,可以参考一下 【Python】pip配置国内镜像源,让Python模块安装飞起来。 ###3. 配置 更改workspace notebook默认把启动时的当前路径作为默认的工作空间(workspac ...
分类:
编程语言 时间:
2020-12-17 12:13:44
阅读次数:
2
import java.net.URLDecoder; import java.net.URLEncoder; public class CodeDemo { public static void main(String[] args) throws Exception { String keyWo ...
分类:
编程语言 时间:
2020-12-17 12:14:31
阅读次数:
2
前言 码云地址:https://gitee.com/Clinjiahao/personal-blog 这是一个挺好的一个SpringBoot练手项目。 该项目是自适应、简洁、美观、易于文章管理发布的一个属于我的个人博客。主要实现了主页博客汇总,以列表形式展示 文章、发布日期、分类情况以及文章摘要等等 ...
分类:
编程语言 时间:
2020-12-17 12:15:19
阅读次数:
2
1、说明 Spring Boot为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。 2、配置方法 2.1、首先确认工程继承自 spring-boot-starter-parent ...
分类:
编程语言 时间:
2020-12-17 12:17:46
阅读次数:
2
运行效果图 index2.jsp <%@ page language="java" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <script t ...
分类:
编程语言 时间:
2020-12-17 12:18:05
阅读次数:
2
1)format的基本用法 不带编号,即"{}" 带数字编号,可调换顺序,即"{1}","{2}" 带关键字,即"{a}","{tom}" 2)format的进阶用法 <(默认)左对齐,> 右对齐,^ 中间对齐 取位数"{:4s}","{:.2f}"等 3)format 数值用法 “b” 二进制,数 ...
分类:
编程语言 时间:
2020-12-17 12:18:35
阅读次数:
3