Java
boyn博言
这个作者很懒,什么都没留下…
展开
-
浅析Java反射机制
这篇文章简单分析了Java的反射机制.反射机制十分强大,是Spring框架的核心原创 2019-03-22 20:22:18 · 269 阅读 · 0 评论 -
函数式编程的思考
欢迎浏览我的博客 获取更多精彩文章https://boyn.top函数式编程的思考什么是函数式编程?为了要理解什么是函数式编程,我们首先要知道什么不是函数式编程.通常,我们用的最多的编程范式是命令式编程,它由"工作"组成,与计算机的执行方式相同,即运行一行命令,做一件事,然后运行下一行命令.这意味着,当我们使用命令行式编程的时候,抽象地来看,代码中会有一个初始状态,一个转换过程和一个终...原创 2019-08-14 16:00:25 · 485 阅读 · 0 评论 -
Java函数式编程(一)–Function的使用
欢迎浏览我的博客 获取更多精彩文章https://boyn.topJava函数式编程(一)–Function的使用在函数式编程中,我们用的最多的往往是Function接口.通常来说,我们很少会直接使用这个接口,但是在Java的函数式编程中,许多组件都会与这个接口有关.需要注意的是,很多人会混淆Java8中新增的Stream API与函数式编程的概念,事实上,Stream API是一种为了...原创 2019-08-15 00:50:52 · 28155 阅读 · 2 评论 -
Spring Boot整合Freemarker
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpring Boot整合FreemarkerSpring Boot加入Freemarker依赖在maven中加入依赖<dependency> <groupId>org.springframework.boot</groupId> &l...原创 2019-08-21 10:42:11 · 192 阅读 · 0 评论 -
Spring中的@Conditional注解
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpring中的@Conditional注解在基于Java代码进行配置的Spring Boot项目中,我们经常会用到Conditional注解.当我们想要满足某些条件时才让Bean容器加载特定的Bean或者模块,或者在不同环境中应用不同的模块.这个时候,@Conditional注解对我们就大有作用.@Conditiona...原创 2019-08-21 18:52:42 · 427 阅读 · 0 评论 -
Spring Boot静态资源解析
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpring Boot静态资源解析使用预定义的路径在Web开发中,会经常用到很多静态资源,如图片,js文件等等.在SpringMvc项目中,如果我们要进行静态资源的配置,会比较麻烦,我们要在xml中定义几行文字或者在Java中设定Bean,来规定静态资源的位置和匹配的规则.那么,在Spring Boot中,我们要怎么样来...原创 2019-08-21 21:13:09 · 216 阅读 · 0 评论 -
从命令式编程到函数式编程(二)
欢迎浏览我的博客 获取更多精彩文章https://boyn.top从命令式编程到函数式编程(二)在这篇文章中,我们要逐步消灭形式上的for循环我们先抽象地看一下循环是一个什么东西.在程度的角度看来,循环就是不断地迭代,其迭代的内容是迭代列表中的元素.无论是for(int i = 0;i<N;i++){//do something...}还是for(String s...原创 2019-08-22 00:12:17 · 219 阅读 · 0 评论 -
AspectJ的基本使用
欢迎浏览我的博客 获取更多精彩文章https://boyn.topAspectJ的基本使用在Java的应用开发中,我们经常会遇到要使用面向切面编程的情况,而AspectJ就是一个很好的AOP库.什么是面向切面编程?面向切面编程是根据应用场景来进行命名的.在实际应用中,有的事情不是仅仅通过面向对象的编程就可以解决的,比如在数据库的事务处理,我们在一次交易中,可能需要查询多次数据库,并且...原创 2019-08-17 00:31:50 · 777 阅读 · 0 评论 -
Spring的数据库事务管理
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpring的数据库事务管理数据库的事务管理一直是一个难点,在如今并发量越来越大的情况下,数据库在多事务访问的环境中容易引发数据丢失和一些数据一致性的问题.而事务管理就是为了解决这些问题的.在大部分情况下,我们要求一系列的数据库操作是保持原子性的,即要么全部成功,要么全部失败,但是也会有其他的要求和需要.在Spring中,...原创 2019-08-18 10:33:10 · 239 阅读 · 0 评论 -
SpringBoot整合文件上传
欢迎浏览我的博客 获取更多精彩文章https://boyn.topSpringBoot整合文件上传在SpringBoot中,经常会遇到需要上传文件的场景.所以这次就来演示一下如何在SpringBoot中结合SpringMVC实现文件上传单个文件上传在网页中,分为表单上传和异步上传.所谓异步上传一般来说就是通过构建FormData对象用Ajax来上传.这两种上传方式其后端接收都是一样...原创 2019-08-22 23:33:34 · 1017 阅读 · 0 评论 -
Junit的基本使用
欢迎浏览我的博客 获取更多精彩文章https://boyn.topJunit的基本使用文章目录Junit的基本使用环境安装一个简单的例子Assert方法组Matcher方法对异常进行测试Stub,Mock和代理测试环境安装基本的Junit环境安装很简单,只需要junit和hamcrest-core两个依赖包即可.在这里为了方便,直接用Maven来配置依赖<dependency...原创 2019-09-08 13:59:48 · 350 阅读 · 0 评论 -
从命令式编程到函数式编程(一)
欢迎浏览我的博客 获取更多精彩文章https://boyn.top从命令式编程到函数式编程(一)函数式编程有什么好处?为什么要将代码从命令式编程转到函数式编程?请参见下文,此处不再赘述,本文的重点是如何将命令式编程的代码转化为函数式编程命令式编程到函数式编程一个邮箱验证的程序最开始的命令式编程final Pattern emailPattern = = Pattern.com...原创 2019-08-19 00:23:54 · 374 阅读 · 0 评论 -
剖析Arrays
欢迎浏览我的博客 获取更多精彩文章https://boyn.top剖析ArraysArrays类常用函数Arrays类部分方法的设计Arrays类常用函数在数组的操作中,Arrays作为一个工具类,是十分好用的,我们就先来看一下,Arrays有哪些经常会用到的方法toString(*)这个toString方法和我们平常用的obj.toString()有一些不同,它是带参数的...原创 2019-07-27 19:23:02 · 162 阅读 · 0 评论 -
Java享元模式的简单分析
欢迎浏览我的博客 获得更多精彩文章https://boyn.top什么是享元模式在Java的包装类,如Integer,Boolean,Byte等等中,都用到了一种预先声明常用值的设计模式,这种共享常用对象的思路,就叫做享元模式,是共享的轻量级元素下面就用Integer类为例来说明这个模式是怎么工作的Integer的三种创建方法在使用包装类的时候,我们通常有两种方法来对其进行创建...原创 2019-07-27 10:07:11 · 207 阅读 · 0 评论 -
牛客网算法题刷题日记(2)--二维数组中的查找
牛客网算法题刷题日记(2)–二维数组中的查找解决问题提交时间状态运行时间占用内存使用语言二维数组中的查找2019-04-10答案正确160 ms16756KJava问题链接:https://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e?orderByHotValu...原创 2019-04-10 10:47:36 · 249 阅读 · 0 评论 -
牛客网算法题刷题日记(1)–魔法阵
牛客网算法题刷题日记(1)–魔法阵解决问题提交时间状态运行时间占用内存使用语言魔法阵2019-04-07答案正确14 ms9296KJava问题链接:https://www.nowcoder.com/questionTerminal/04c873db99a34a0c85d476be82533b98问题思路:在拿到这个问题的第一时间,首先需要想一下...原创 2019-04-07 16:46:30 · 1471 阅读 · 0 评论 -
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 · 217 阅读 · 0 评论 -
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 · 356 阅读 · 0 评论 -
Java NIO 教程 (一) 总览
Java NIO 教程 (一) 总览说到底,其实NIO总共就是三个概念:通道缓冲区选择器虽然实际上,NIO中有比这些概念更多的类和组件,但是通道,缓冲区和选择器形成了最核心的API.其他的组件,比如管道与文件锁,他们仅仅是连着这三个核心组件的工具而已.因为,该教程将会聚焦于这三个组件.剩余的组件的介绍于用法会在后面教程中给出通道与缓冲区一个典型且抽象的NIO输入输出模型如下.通道...翻译 2019-06-03 21:31:38 · 476 阅读 · 0 评论 -
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 · 168 阅读 · 0 评论 -
Java NIO 教程 (二) 通道
Java NIO 教程 (二) 通道NIO中的通道有点像IO中的流式对象,但是又有一些不同:在一个通道中,你既能够读,也能够写.流式对象通常是单向的通道支持异步读写通道永远与缓冲区绑定(从缓冲区读入,写入缓冲区)通道的实现以下是NIO中最重要的通道实现FileChannelDatagramChannelSocketChannelServerSocketChannelF...翻译 2019-06-04 12:55:16 · 136 阅读 · 0 评论 -
Java NIO 教程 (三) 缓冲区
Java NIO 教程 (三) 缓冲区NIO缓冲区用于跟Channels进行互动.正如上篇文章所说到的,数据从缓冲区读出到通道,从通道写入至缓冲区缓冲区实际上是一块可以读写的内存区.内存区被缓存区对象封装起来,并且提供了一些可以让我们更加方便操作这块内存区的方法缓冲区基本用法用缓冲区来读写数据基本上分为以下4步:向缓冲区中写入数据调用flip()方法从缓冲区中读出数据调用clea...翻译 2019-06-04 12:55:56 · 190 阅读 · 0 评论 -
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 · 1615 阅读 · 0 评论 -
JNI教程(二):初探JNI
JNI教程(二):初探JNIJNI开发流程编写Java程序,声明好要使用native的方法编译Java程序创建C/C++头文件编写C/C++程序创建链接库运行Java程序下面将分步骤来演示一个简单的JNI开发过程1.编写Java程序本地方法在Java中是没有实现的方法体的,我们需要先声明这个方法,才能使用,native方法在声明结束后直接用一个分号结尾,下面是一个实例编写...原创 2019-06-29 18:00:33 · 205 阅读 · 0 评论 -
Java并发编程之volatile关键字解析
欢迎浏览我的博客 获取更多精彩文章https://boyn.top本文转自: https://www.cnblogs.com/dolphin0520/p/3920373.htmlJava并发编程之volatile关键字解析volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java...转载 2019-09-08 22:55:37 · 151 阅读 · 0 评论