自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 Edge浏览器缓存问题简直可怕

今天调试一个前端程序,怎么第都不对,请求压根没有变过,后来才发现是Edge浏览器的缓存问题简直令人发指,刷新了多少遍都没有用

2021-10-09 21:27:32 4618 4

原创 Java8并发编程——ConcurrentHashMap详细解读

1ConcurrentHashMap是一种多线程安全的集合类,主要用到的技术是数组+链表+红黑树+CAS+可重入锁,它是在HashMap的基础上,添加了一些操作来保证多程序情况下的安全。 ...

2020-05-03 21:19:01 542

原创 Python中zip文件解压中文乱码问题的彻底解决

python中的zipfile库在解压含有中文文件的压缩包的时候,中文文件名字会变成乱码 解决方法如下: 修改zipfile的源代码 在源代码中搜索字符串”cp347",你将会看到两个地方,分别在1330行和1510行附近 1330的代码如下: 上面这一端代码需要修改为: 1510的代码如下: 改为: 这种修改方法实际上是不断尝试文件名的编码方法,直到能...

2019-12-09 15:25:25 5043

原创 python使用flask获取浏览器上传的文件、python模仿浏览器上传文件

一 使用flask获取上传的文件 1 html的代码 <form enctype="multipart/form-data" method="post"action="http://127.0.0.1:12306/upload_material"> <input type="file" name="materials" id="user-pic...

2019-11-19 18:00:18 2093

原创 Java多线程ConcurrentHashMap深度解读

前言:ConcurrentHashMap是非常经典的一个类,面试中会被经常问到,因为它里面用了非常复杂的数据结构,设计上也非常精致,同时又涉及并发编程,可以说是个宝藏类,我会尝试解读一下这个类。 (我会抽空一直更新) 它的代码高达6300行 一 注释 我们来看一下类的注释: 上面贴出来的是第一段注释,后面我就不贴图了,直接翻译: 第一段:一个支持完全并发读和高期望并发更新的hash...

2019-10-16 11:34:21 654

原创 史上最详细的Java集合类ArrayList源代码逐行深入解读

(转载请附上链接:https://blog.csdn.net/brucexiajun/article/details/101209837) 前言:ArrayList是Java集合类中非常常见的一个类,而且比较基本,不会太难,源代码1500行左右,非常适合新手开始练习源代码的阅读能力。 本文将会尽可能详细的剖析ArrayList类的源代码,文章会陆续更新。 一 注释 我们先从注释开始 ...

2019-09-23 19:59:15 617

原创 非常详细的Java的Integer类的parseInt方法源代码解析(JDK1.8,逐行解释,包括注释)

parseInt()方法是将字符串转换成整数的方法,下面剖析它的源代码: 首先,方法的定义如下: 这是一个类方法,意味着可以直接通过Integer类调用 参数s是要被转化的字符串,参数radix是进制,比如10表示将s按照10进制去理解。 step1:先看注释 以第二个参数进制为基准,将string参数解析为有符号整数。在该进制的情况下,这个字符串必须全部是数字(就是说1...

2019-09-19 11:53:59 2383

原创 opencl中原子锁的使用

opencl的核函数执行的是并行操作,因为每一个核函数执行的是一个细粒度的操作,所以当核函数执行的时候,相当于多个线程同时执行一个函数,区别就是这些线程输入给函数的参数不一样,比如对于一个图像10*10的图像,同时有100个线程操作,每一个线程操作一个像素,当然必须是不同的像素,所以不能有并发写的情况发生。 比如下面的核函数: __kernel void sync_write(__globa...

2019-09-16 20:24:53 1157

原创 C语言版本的opencl的用法

本文介绍一下C语言使用Opencl的基本步骤,系统是windows10,IDE是Visual Studio2017。 step1:你需要安装一下opencl的windows版本,然后新建一个工程,在属性管理器里面给这个工程导入opencl的头文件。 step2:导入头文件 #include <iostream> #include <fstream> #incl...

2019-09-16 19:55:57 2376

原创 全网第一个c++版本的opencl编程详解(gpu编程)

本文主要讲解opencl在windows下,使用cpp编程的基本过程,使用的IDE是Visual Studio 2017。 下面的代码连在一起就可以运行 step1:新建工程,导入头文件 在VS上新建一个工程,然后配置相关的头文件:视图->其它窗口->属性管理器,然后配置一些项,目的是将opencl的头文件导入这个cpp工程里面。(这里不介绍了,有很多现成的文章) step2:...

2019-09-16 18:00:41 5503 3

原创 Numpy的基本使用详解-机器学习基础(代码均可独立运行)

Numpy是一个Python语言下的矩阵运算的包,因为机器学习中会涉及一些非常复杂的矩阵运算,使用基本的pyhon中的数据结构操作起来很麻烦,于是就诞生了很多矩阵运算的专用包,Numpy是其中使用最多的一个,举个例子,opencv的python版本中就是用了Numpy矩阵来表示图片: 我们来看一下打印结果: 本文目的是介绍Numpy最常见的一些用法,我会尝试使用最简短的代码解释清楚Nu...

2019-09-12 19:33:19 431

原创 C++文件读写的基本操作详解-ifstream、ofstream的用法

下面由浅入深介绍一下C++中文件的读写操作,每一段代码都可以单独运行,我会试图以最短的代码解释清楚基本的读写操作。 1 文本文件的基本写操作 功能:向文件 myfile.txt 中写入数据。 代码: #include <fstream> #include <string> using namespace std; int main() { ofstream ou...

2019-09-06 20:31:43 3419

原创 从验证码破解谈卷积神经网络

大家先别急着看,我还没有写完,抱歉今天很忙,后面一定会更新。 卷积神经网络(CNN)是一种在计算机视觉领域应用非常广的深度学习框架,我前前后后大概花了一个礼拜的时间,基本上搞懂了CNN的原理,在这里做个记录,也算是分享一下自己的见解。 一 基础知识 1 关于图像 这里说的验证码指的是验证码所在的图片,计算机中的图片都是由一个一个的像素点构成,可以 把像素点看成是组成图片的最小单位,右键w...

2018-12-02 18:53:51 597 1

原创 Java多线程——ArrayBlockingQueue的使用

最近找实习,发现各大公司对Java的多线程爱的很深沉,遂决定开扒java.util.concurrent包,防止自己忘了,也给初学者一个参考。以下内容都来自官方的API,例子是我自己造的。今天的主角是ArrayBlockingQueue。一 位置知道它实现了抽象类BlockingQueue即可,和它一样的小伙伴很多二 定义我只截取了第一段,以后都不截图了,需要的自己下载一个j2se7.chm就行了...

2018-04-20 16:35:29 11142 1

原创 使用git将代码存入远程仓库github和从github上克隆代码到本地

git远程仓库的上传和下载

2016-07-28 15:27:10 10834 1

原创 在spring mvc中实现JSR303验证并将验证结果传回给视图层

一 先上效果图:这是注册前 没有填写登录名,点击注册 显示用户名不能为空,实现方式是JSR303。 二 代码如下 这里不给出所有的代码,因为篇幅有限,给出和实现验证功能有关的代码 1 在user-servlet.xml中添加 2 在register.php添加 和       学号  :       登录名 :

2016-06-11 23:34:05 1825

原创 Spring之Referenced file contains error问题的解决

做spring mvc开发时在写配置文件时出现的问题,Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-3.1.xsd).  在网上找了很多解决方案,大都是你抄我,我抄你,根本没有用,错误如下 后来与以前的工程对比,才知道spring-beans.xsd这样

2016-05-21 19:46:45 3004 1

原创 首届CCF软件能力认证试题第二题详解(窗口)

分享一下首届CCF第二题的思路,供大家交流学习

2016-01-17 22:20:23 758

java冒泡排序,插入排序,堆排序源码(终端输入,可以选择排序方法)

用户能够从终端选择三种排序算法中的一种,包括插入排序,堆排序,选择排序,同时被排序的数也可以通过键盘输入,不限制输入的数字的个数,运用了Java的面向对象的思想

2015-04-02

空空如也

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

TA关注的人

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