Java
文章平均质量分 93
ShuSheng007
人活着要有梦想,万一实现了呢!
展开
-
秒懂Java之实体转化利器MapStruct详解
由于现代程序在追求扩展和维护性时很多采用分层的设计结构,所以在写程序时候需要在各种实体之间互相转换,而他们之间很多时候在业务或者技术架构上区别较大,在具体的属性上差别却很小。例如将Programer转换为由于这些是繁琐易错且没有技术含量的编码工作,所以聪明的程序员就会寻求不断简化它的方法,MapStruct就是其中的一个利器。MapStruct是一个用于Java的Bean的映射器,是它是基于注解的,而且是编译时APT(annotation processor tool)。原创 2023-01-12 17:00:00 · 1292 阅读 · 0 评论 -
Base64如何转MultipartFile(对流行实现类BASE64DecodedMultipartFile的修正)
全网关于base64转multipartFile最准确的文章原创 2021-06-26 17:54:20 · 9430 阅读 · 23 评论 -
秒懂Java之方法句柄(MethodHandle)
dd原创 2020-07-02 23:08:40 · 4410 阅读 · 0 评论 -
秒懂Java之深入理解Lambda表达式
【版权申明】非商业目的注明出处可自由转载博文地址:出自:shusheng007文章目录概述匿名类到Lambda表达式示例1,抽象方法无入参,无返回值示例2,抽象方法带入参,带返回值的情形Method reference(方法引用)灵魂拷问Lambda 有类型吗?有的话是什么类型?Lambda可以赋值给变量吗?可以当方法的入参和返回值吗?Lambda是对象吗?有的话我们可以在代码中引用它吗?总结概述今天在Pluralsight看了一个讲Java Lambda 表达式的视频教程,觉得很好,自己研究.原创 2020-06-23 11:21:01 · 920 阅读 · 0 评论 -
秒懂Android注解处理器(Android Annotation Processor)
【版权申明】非商业目的可自由转载博文地址:出自:shusheng007文章目录前言概述注解处理器预备知识工作原理项目结构定义注解定义注解处理器原理创建项目定义初始化模块如何使用总结前言现在Android开发中许多流行的第三方库都使用了注解生成代码的方式,例如 ButterKnife, Dagger2,Glide等等,初次接触时感觉好神奇,后来感觉很实用,再后来想知道怎么实现的,再后来...原创 2019-06-02 08:58:37 · 7246 阅读 · 0 评论 -
聊聊Java泛型擦除那些事
版权申明】非商业目的注明出处可自由转载博文地址:出自:shusheng007相关文章:秒懂Java泛型秒懂Java类型(Type)系统文章目录概述泛型泛型信息运行时擦除泛型信息声明时保留结论获取并使用泛型使用场景总结概述曾几何时你是否在简历中写道:精通Java、精通xx、精通oo 等等的字眼,说出来不怕丢人,本人也干过。现在想想真是惊叹于当时的“勇气”,或者是自大?亦或是无知?...原创 2019-05-03 19:55:09 · 596 阅读 · 0 评论 -
秒懂Java类型(Type)系统
概述Java 编程语言从Java 5 后引入Type体系,应该是为了加入泛型而引入的。其存在于java.lang.reflect包下面,所以平时较少使用,但是理解Java类型体系是深入理解Java泛型的前提,也是一个高级Java开发者的必备素质。Type 系统总览Java Type 体系,始于Type接口,其是Java编程语言中所有类型的父接口,是对Java编程语言类型的一个抽象,如下所示:...原创 2019-04-27 01:31:31 · 3848 阅读 · 0 评论 -
秒懂Java并发之volatile关键字引发的思考
概述首先我们应该明确Java中 volatile 关键字涉及到的领域,换句话说,大家在谈论什么问题的时候会涉及到这个关键字。相信首次接触这个关键字的同学内心是崩溃的,首先可以肯定的是大部分中国人不认识这个单词,那么连望文生义的机会都没有了,我就是其中一员。其实当我们在谈论Java并发编程的时候,就会想到这哥们儿,在此希望可以以通俗的语言描述一下 volatile 身边的故事。并发(Concur...原创 2018-12-28 10:09:54 · 848 阅读 · 0 评论 -
秒懂Java反射
前言前段时间看 Retrofit2源码 的时候,发现其大量使用了反技术,在此框架中使用反射技术来获取方法以及其参数的注解。虽说反射技术在我们日常的开发当使用不是很频繁,但是其在构建框架则会大放异彩。反射技术应该也算是Java进阶的知识了,对有追求的Java程序员来说是必须要掌握的一项技能。概述什么是反射?解决什么问题?具体如何使用?其是什么原理?有什么弊端?什么是反射 In...原创 2018-08-19 17:18:47 · 1514 阅读 · 1 评论 -
秒懂Java动态编程(Javassist研究)
概述什么是动态编程?动态编程解决什么问题?Java中如何使用?什么原理?如何改进?(需要我们一起探索,由于自己也是比较菜,一般深入不到这个程度)。什么是动态编程动态编程是相对于静态编程而言的,平时我们讨论比较多的就是静态编程语言,例如Java,与动态编程语言,例如JavaScript。那二者有什么明显的区别呢?简单的说就是在静态编程中,类型检查是在编译时完成的,而动态编程中类型检查...原创 2018-07-30 13:44:27 · 30421 阅读 · 7 评论 -
秒懂Java泛型
版权申明】非商业目的可自由转载 博文地址: 出自:shusheng007概述什么是泛型为什么需要泛型泛型作用的对象泛型类泛型接口泛型方法泛型的使用方法如何继承一个泛型类如何实现一个泛型接口如何调用一个泛型方法通配符?通配符上界通配符下界泛型在静态方法中的问题Java泛型原理解析擦除与其他语言相比较总结概述什...原创 2018-06-17 23:46:37 · 5373 阅读 · 4 评论 -
秒懂Java多线程
版权申明】非商业目的可自由转载 博文地址: 出自:shusheng007前言这个话题一般比较大,如果往深了研究学问可大了,不仅涉及到操作系统知识还会涉及计算机硬件的知识,本文将着眼于应用层面行文。有的同学要说了:“讲那么多干什么,还不是因为自己菜”,我只能说:“被你看穿了,呵呵”。概述追求工作效率是人类社会能够迅速向前发展的动力,例如老王公司的软件部门...原创 2018-06-11 23:22:41 · 846 阅读 · 0 评论 -
秒懂Java序列化与反序列化
版权申明】非商业目的可自由转载 博文地址: 出自:shusheng007概述什么是序列化?什么是反序列化?为什么需要序列化?如何序列化?应该注意什么?本文将从这几方面来论述。定义什么是序列化?什么是反序列化?序列化: 把Java对象转换为字节序列的过程。 反序列化:把字节序列恢复为Java对象的过程。作用为什么需要序列化?在...原创 2018-06-09 14:40:43 · 6388 阅读 · 15 评论 -
秒懂 Java注解类型(@Annotation)
【版权申明】非商业目的可自由转载概述照例先啰嗦几句,刚开始接触Java的时候,某一天发现调用的一个方法被划了一个删除横线,查看这个方法的源代码的时候发现除了上面有一句@Deprecated代码外,和其他方法没有区别,所以我断定就是这货起的作用,当时觉得好神奇,于是乎我开始了对Java注解的了解,这个过程是不连续的,最近比较闲,所以总结一下。理解Java注解注解就相当...原创 2018-06-08 18:18:50 · 4662 阅读 · 5 评论 -
秒懂https之如何在SpringBoot2中使用自签名证书
【版权申明】非商业目的注明出处可自由转载博文地址:出自:shusheng007系列文章:秒懂Https之CA证书与自签名证书漫谈秒懂Https之如何在Android中使用自签名证书文章目录概述闪光点配置SpringBoot2内置的Tomcat总结概述在秒懂Https之CA证书与自签名证书漫谈中我们谈到了如何生成自签名证书的问题,在秒懂Https之如何在Android中使用自签名证书中又谈到了如何在Android中使用自签名证书。本文我们一起来看一下,如何在SpringBoot2中使用自签.原创 2020-08-12 23:56:08 · 1244 阅读 · 0 评论 -
秒懂Java之方法引用(method reference)详解
方法引用(MethodReference)其为Lambda表达式的另一种格式,在某些场景下可以提高代码的阅读性,那么如何将一个Lambda表达式替换成MethodReference呢?有的同学说了,可以使用IDE协助转换,我只能说你太机智了,这篇文章不是为你准备的。使用条件只可以替换单方法的Lambda表达式什么意思呢 ?例如下面这个Lambda表达式就不可以使用MethodReference替换: Predicate<Integer> p2 = integer -&g原创 2020-07-27 23:15:26 · 12364 阅读 · 10 评论 -
Java中事件的使用
import java.util.*;// An interface to be implemented by everyone interested in "Hello" eventsinterface HelloListener { public void someoneSaidHello();}// Someone who says "Hello"class Initi翻译 2015-03-02 11:23:14 · 897 阅读 · 0 评论 -
Java 实现邮件的自动发送
Java 实现邮件的自动发送网上已经有很多实现的例子了,此处只是总结记录以便日后查看 发送邮件需要两个jar包:mail.jar和activation.jar构建一个身份验证类package com.shusheng007.sstx.email;import javax.mail.Authenticator;import javax.mail.PasswordAuthentication;原创 2015-11-15 10:35:36 · 819 阅读 · 0 评论 -
Java 8 并发之同步与锁
前言 点击查看原文: 原文地址第一部分:线程(Thread)与执行体(Executors)第二部分:同步(Synchronization)与锁(Locks)第三部分:原子变量与ConcurrentMap 欢迎浏览Java 8 并发教程的第二部分.本教程致力于使用简单而易于理解的代码实例来教授你关于java8中并发编程一些知识。接下来你会学到在并发编程中使用synchronized关键字,锁翻译 2017-07-08 16:43:46 · 1249 阅读 · 1 评论 -
加密算法探究
生在互联网的时代最不安全的就是信息,一不小心内裤都可能被人扒了,是时候了解下密码学知识了。概述对信息加密不只现代社会有需求,古代也有。例如我们祖先使用藏头诗,绘画等方式,西方使用错位字母法,达芬奇密码盒等方式。只是现在生在互联网的时代信息更容易泄露和扩散,对信息的安全性提出了更高的要求。加密算法分类按照是否可逆分为:单向加密 单向加密是不可逆的,也就是只能加...原创 2017-07-04 17:03:57 · 461 阅读 · 0 评论 -
Java8 并发教程之Thread与Executors
本教程共分为三个部分 原文地址第一部分:线程(Thread)与执行体(Executors)第二部分:同步(Synchronization)与锁(Locks)第三部分:原子变量与ConcurrentMap 欢迎浏览Java8并发教程的第一部分.本教程致力于使用简单而易于理解的代码实例来教授你关于java8中并发编程一些知识。接下来你会学到如何使用线程,任务(tasks)以及执行体(execu翻译 2017-07-04 18:41:08 · 2286 阅读 · 0 评论 -
Java8 并发之原子变量与ConcurrentMap
前言 点击查看原文 原文地址第一部分:线程(Thread)与执行体(Executors)第二部分:同步(Synchronization)与锁(Locks)第三部分:原子变量与ConcurrentMap 欢迎浏览Java 8 并发教程的第二部分.本教程致力于使用简单而易于理解的代码实例来教授你关于java8中并发编程一些知识。接下来你会学到在并发编程中使用synchronized关键字,锁,翻译 2017-07-20 18:11:21 · 790 阅读 · 0 评论 -
如何添加本地JAR文件到Maven项目中
有时我们需要将本地的jar文件添加到maven项目中,如果直接通过IDEA添加本地库引用的话,打包时候会丢失。网上中文教程的解决方法非常复杂,自己调查了一下,希望有此问题的同行不用再走弯路。第一种方案:将jar安装到本地Maven仓库第一步首先确定你的电脑已经安装了Maven。在命令行中键入mvn -v命令,如果出现类似如下图所示,说明你的电脑已经安装了Maven,可进行第二步,如果没有请安装Ma原创 2017-11-16 13:20:04 · 53255 阅读 · 6 评论 -
用Retrofit+RxJava2封装优雅的网络请求框架
最近难得赋闲在家,看到网上讲Retrofit2的文章,发现自己以前Android项目使用封装方式反而更加简单易用,所以决定花点时间整理分享一下,让做Android开发的小伙伴们可以可以更优雅的处理网络请求。概述首先,这是一篇讲解如何封装Retrofit与RxJava2的文章,所以需要阅读者对Retrofit与RxJava2有一定的了解,不然不太容易看明白。现在OkHttp + ...原创 2018-05-26 17:11:33 · 2984 阅读 · 6 评论 -
文件的加密和解密
点击打开链接转载 2014-06-09 11:57:36 · 630 阅读 · 0 评论