- 博客(34)
- 资源 (5)
- 收藏
- 关注
原创 FastJSON指南
FastJSON指南FastJSON是一个轻量级的Java对象与JSON字符串相互转换的库,这篇文章中我们会阐述一些FastJSON的概念并且在实际中演示FastJSON的应用配置Maven<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</...
2019-09-12 16:58:18
290
原创 JWT完全指南
欢迎浏览我的博客获取更多精彩文章 https://boyn.topJWT完全指南这篇文章先介绍了JWT的原理与细节,包括在Web开发中用户的认证和Session的管理.JWT速览深挖JWT的原理有利于实现基于JWT的认证解决方案实际应用中的故障排除,包括理解错误信息和栈踪迹选择合适的第三方库以及理解他们的文档设计一个具有良好可用性的认证解决方案选择一个靠谱的第三方认证服...
2019-09-12 09:25:07
1451
原创 Mongodb查询函数使用
欢迎浏览我的博客 获取更多精彩文章https://boyn.topMongodb查询函数使用在Mongodb中,查询操作并不复杂,但是却十分常用.下面我们会通过一个例子来说明查询函数的使用方法.首先,我们要先在Mongo Shell里面插入对应的数据db.inventory.insertMany([ { item: "journal", qty: 25, size: { h:...
2019-09-10 09:26:43
1268
原创 Mongodb基本使用
Mongodb基本使用Mongodb是一个文档型数据库,与我们熟悉的关系型数据库如mysql等不一样,它属于nosql类型的数据库.它在存储JSON格式的文本上有很大的优势.并且随着Mongodb的不断发展,他在大部分应用场景中的速度,稳定性已经不输给很多传统数据库.Mongodb的安装在网络上已经有很多安装Mongodb的教程了.我在这里推荐两个:菜鸟教程:Windows安装Mongo...
2019-09-09 19:29:52
288
转载 Java并发编程之volatile关键字解析
欢迎浏览我的博客 获取更多精彩文章https://boyn.top本文转自: https://www.cnblogs.com/dolphin0520/p/3920373.htmlJava并发编程之volatile关键字解析volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java...
2019-09-08 22:55:37
176
原创 Junit的基本使用
欢迎浏览我的博客 获取更多精彩文章https://boyn.topJunit的基本使用文章目录Junit的基本使用环境安装一个简单的例子Assert方法组Matcher方法对异常进行测试Stub,Mock和代理测试环境安装基本的Junit环境安装很简单,只需要junit和hamcrest-core两个依赖包即可.在这里为了方便,直接用Maven来配置依赖<dependency...
2019-09-08 13:59:48
382
原创 别再用os.path了,尝试一下pathlib吧
欢迎浏览我的博客 获取更多精彩文章https://boyn.top别再用os.path了,尝试一下pathlib吧文章目录别再用os.path了,尝试一下pathlib吧os.path太笨重了os模块过于臃肿pathlib让简单更简单pathlib让你的代码更加精确pathlib中还有什么缺失?你要一直使用pathlib吗我在很久之前曾经接触过pathlib这个库,当时我认为这是一个略...
2019-08-28 00:02:25
517
原创 MIPS实现简单冒泡排序
欢迎浏览我的博客 获取更多精彩文章https://boyn.topMIPS实现简单冒泡排序在本文中,我们将会用MIPS来实现一段C语言中简单的冒泡排序C语言的代码如下所示void sort(int v[], int n){ int i, j; for (i = 0; i < n ; i += 1) { for (j = i - 1; j >...
2019-08-27 22:46:29
4701
原创 SpringBoot整合文件上传
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpringBoot整合文件上传在SpringBoot中,经常会遇到需要上传文件的场景.所以这次就来演示一下如何在SpringBoot中结合SpringMVC实现文件上传单个文件上传在网页中,分为表单上传和异步上传.所谓异步上传一般来说就是通过构建FormData对象用Ajax来上传.这两种上传方式其后端接收都是一样...
2019-08-22 23:33:34
1049
原创 从命令式编程到函数式编程(二)
欢迎浏览我的博客 获取更多精彩文章https://boyn.top从命令式编程到函数式编程(二)在这篇文章中,我们要逐步消灭形式上的for循环我们先抽象地看一下循环是一个什么东西.在程度的角度看来,循环就是不断地迭代,其迭代的内容是迭代列表中的元素.无论是for(int i = 0;i<N;i++){//do something...}还是for(String s...
2019-08-22 00:12:17
249
原创 Spring Boot静态资源解析
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpring Boot静态资源解析使用预定义的路径在Web开发中,会经常用到很多静态资源,如图片,js文件等等.在SpringMvc项目中,如果我们要进行静态资源的配置,会比较麻烦,我们要在xml中定义几行文字或者在Java中设定Bean,来规定静态资源的位置和匹配的规则.那么,在Spring Boot中,我们要怎么样来...
2019-08-21 21:13:09
246
原创 Spring中的@Conditional注解
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpring中的@Conditional注解在基于Java代码进行配置的Spring Boot项目中,我们经常会用到Conditional注解.当我们想要满足某些条件时才让Bean容器加载特定的Bean或者模块,或者在不同环境中应用不同的模块.这个时候,@Conditional注解对我们就大有作用.@Conditiona...
2019-08-21 18:52:42
471
原创 Spring Boot整合Freemarker
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpring Boot整合FreemarkerSpring Boot加入Freemarker依赖在maven中加入依赖<dependency> <groupId>org.springframework.boot</groupId> &l...
2019-08-21 10:42:11
223
原创 Vim没有这么可怕
欢迎浏览我的博客 获取更多精彩文章https://boyn.topVim没有这么可怕我们可以通过5个免费的资源来学习Vim这个是一个通过Vim打开的开源项目的代码界面未知的事情常常会带来恐惧并且还会引起抗拒.Vim是一个没有异常的工具,虽然在StackOverflow网站上,关于如何退出Vim的问题被访问超过100W次,但是还是不能忽视Vim仍然是世界上的开发者使用得最广泛的编辑器...
2019-08-19 09:18:10
516
原创 从命令式编程到函数式编程(一)
欢迎浏览我的博客 获取更多精彩文章https://boyn.top从命令式编程到函数式编程(一)函数式编程有什么好处?为什么要将代码从命令式编程转到函数式编程?请参见下文,此处不再赘述,本文的重点是如何将命令式编程的代码转化为函数式编程命令式编程到函数式编程一个邮箱验证的程序最开始的命令式编程final Pattern emailPattern = = Pattern.com...
2019-08-19 00:23:54
417
原创 Spring的数据库事务管理
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpring的数据库事务管理数据库的事务管理一直是一个难点,在如今并发量越来越大的情况下,数据库在多事务访问的环境中容易引发数据丢失和一些数据一致性的问题.而事务管理就是为了解决这些问题的.在大部分情况下,我们要求一系列的数据库操作是保持原子性的,即要么全部成功,要么全部失败,但是也会有其他的要求和需要.在Spring中,...
2019-08-18 10:33:10
272
原创 AspectJ的基本使用
欢迎浏览我的博客 获取更多精彩文章https://boyn.topAspectJ的基本使用在Java的应用开发中,我们经常会遇到要使用面向切面编程的情况,而AspectJ就是一个很好的AOP库.什么是面向切面编程?面向切面编程是根据应用场景来进行命名的.在实际应用中,有的事情不是仅仅通过面向对象的编程就可以解决的,比如在数据库的事务处理,我们在一次交易中,可能需要查询多次数据库,并且...
2019-08-17 00:31:50
836
原创 Java函数式编程(一)–Function的使用
欢迎浏览我的博客 获取更多精彩文章https://boyn.topJava函数式编程(一)–Function的使用在函数式编程中,我们用的最多的往往是Function接口.通常来说,我们很少会直接使用这个接口,但是在Java的函数式编程中,许多组件都会与这个接口有关.需要注意的是,很多人会混淆Java8中新增的Stream API与函数式编程的概念,事实上,Stream API是一种为了...
2019-08-15 00:50:52
30038
2
原创 函数式编程的思考
欢迎浏览我的博客 获取更多精彩文章https://boyn.top函数式编程的思考什么是函数式编程?为了要理解什么是函数式编程,我们首先要知道什么不是函数式编程.通常,我们用的最多的编程范式是命令式编程,它由"工作"组成,与计算机的执行方式相同,即运行一行命令,做一件事,然后运行下一行命令.这意味着,当我们使用命令行式编程的时候,抽象地来看,代码中会有一个初始状态,一个转换过程和一个终...
2019-08-14 16:00:25
518
翻译 CPU是如何工作的?
欢迎浏览我的博客 获取更多精彩文章https://boyn.topCPU是如何工作的?该文章翻译自:https://milapneupane.com.np/2019/07/06/how-does-a-cpu-work/Translated By:https://milapneupane.com.np/2019/07/06/how-does-a-cpu-work/CPU,也被叫做微...
2019-07-27 22:32:57
1062
1
原创 剖析Arrays
欢迎浏览我的博客 获取更多精彩文章https://boyn.top剖析ArraysArrays类常用函数Arrays类部分方法的设计Arrays类常用函数在数组的操作中,Arrays作为一个工具类,是十分好用的,我们就先来看一下,Arrays有哪些经常会用到的方法toString(*)这个toString方法和我们平常用的obj.toString()有一些不同,它是带参数的...
2019-07-27 19:23:02
197
原创 Java享元模式的简单分析
欢迎浏览我的博客 获得更多精彩文章https://boyn.top什么是享元模式在Java的包装类,如Integer,Boolean,Byte等等中,都用到了一种预先声明常用值的设计模式,这种共享常用对象的思路,就叫做享元模式,是共享的轻量级元素下面就用Integer类为例来说明这个模式是怎么工作的Integer的三种创建方法在使用包装类的时候,我们通常有两种方法来对其进行创建...
2019-07-27 10:07:11
229
原创 JNI教程(二):初探JNI
JNI教程(二):初探JNIJNI开发流程编写Java程序,声明好要使用native的方法编译Java程序创建C/C++头文件编写C/C++程序创建链接库运行Java程序下面将分步骤来演示一个简单的JNI开发过程1.编写Java程序本地方法在Java中是没有实现的方法体的,我们需要先声明这个方法,才能使用,native方法在声明结束后直接用一个分号结尾,下面是一个实例编写...
2019-06-29 18:00:33
233
原创 JNI教程(一):什么是JNI
JNI教程(一):什么是JNI通俗来说,JNI(Java Programming interface)就是一个将Java代码和一些本地方法(如C,C++,FORTRAN)连接起来的桥梁.能够让我们写好的C,C++方法直接用到Java中,同样地,也可以让本地方法调用我们写好的Java方法JNI是如何起作用的从Java语言的角度来看,Java通过native方法来调用native代码.这些na...
2019-06-29 17:59:55
1651
原创 Spring Security – There is no PasswordEncoder mapped for the id “null”解决方案
异常说明java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id “null”at org.springframework.security.crypto.password.DelegatingPasswordEncoder$UnmappedIdPasswordEncoder.match...
2019-06-12 15:39:58
389
翻译 Java NIO 教程 (三) 缓冲区
Java NIO 教程 (三) 缓冲区NIO缓冲区用于跟Channels进行互动.正如上篇文章所说到的,数据从缓冲区读出到通道,从通道写入至缓冲区缓冲区实际上是一块可以读写的内存区.内存区被缓存区对象封装起来,并且提供了一些可以让我们更加方便操作这块内存区的方法缓冲区基本用法用缓冲区来读写数据基本上分为以下4步:向缓冲区中写入数据调用flip()方法从缓冲区中读出数据调用clea...
2019-06-04 12:55:56
220
翻译 Java NIO 教程 (二) 通道
Java NIO 教程 (二) 通道NIO中的通道有点像IO中的流式对象,但是又有一些不同:在一个通道中,你既能够读,也能够写.流式对象通常是单向的通道支持异步读写通道永远与缓冲区绑定(从缓冲区读入,写入缓冲区)通道的实现以下是NIO中最重要的通道实现FileChannelDatagramChannelSocketChannelServerSocketChannelF...
2019-06-04 12:55:16
162
翻译 Java NIO 教程 (零) 介绍
Java NIO 教程 (零) 介绍什么是NIO从JDK1.4开始,Java NIO(New IO)开始成为Java IO API的一个可替代者,想要替代Java IO和Java Networking的API’sJava NIO (以后直接称NIO) 与传统IO的API不同,它提供了不同的接口来进行IO操作,顾名思义New IONIO:Channels与Buffers在标准IO的API中...
2019-06-03 21:32:11
201
翻译 Java NIO 教程 (一) 总览
Java NIO 教程 (一) 总览说到底,其实NIO总共就是三个概念:通道缓冲区选择器虽然实际上,NIO中有比这些概念更多的类和组件,但是通道,缓冲区和选择器形成了最核心的API.其他的组件,比如管道与文件锁,他们仅仅是连着这三个核心组件的工具而已.因为,该教程将会聚焦于这三个组件.剩余的组件的介绍于用法会在后面教程中给出通道与缓冲区一个典型且抽象的NIO输入输出模型如下.通道...
2019-06-03 21:31:38
512
原创 LeetCode刷题日记(1)—Easy*4
LeetCode刷题日记(1)—Easy*4今天下午刷了4道Easy的题题目链接所用时间语言Two SumAccepted2 msjavaTwo Sum II - Input array is sortedAccepted0 msjavaPalindrome NumberAccepted6 msjavaRoman to Integer...
2019-04-17 17:09:52
241
原创 牛客网算法题刷题日记(2)--二维数组中的查找
牛客网算法题刷题日记(2)–二维数组中的查找解决问题提交时间状态运行时间占用内存使用语言二维数组中的查找2019-04-10答案正确160 ms16756KJava问题链接:https://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e?orderByHotValu...
2019-04-10 10:47:36
282
原创 牛客网算法题刷题日记(1)–魔法阵
牛客网算法题刷题日记(1)–魔法阵解决问题提交时间状态运行时间占用内存使用语言魔法阵2019-04-07答案正确14 ms9296KJava问题链接:https://www.nowcoder.com/questionTerminal/04c873db99a34a0c85d476be82533b98问题思路:在拿到这个问题的第一时间,首先需要想一下...
2019-04-07 16:46:30
1529
原创 分治算法(一)--以Quora的一道题来浅淡分治思想
问题引入最近,在Quora上看到了一道有趣的问题:How do I print my name 1000 times in Java without looping?(我要怎么样不用循环来输出自己的名字呢?)解决方法1.循环第一眼还没有看到without looping时,我觉得这个无疑是一个十分简单的问题,只需要用1000个循环就可以解决了public static void main...
2019-03-28 19:16:25
258
深度学习入门:基于Python的理论与实现_非扫描高清版,带完整书签
2019-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人