自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jason Blog

记录曾未懂的知识仓库

  • 博客(61)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 SpringBoot+Mybatis(Mysql/PostgreSQL)多数据源实战详解

前言由于项目中需要使用到多个数据库进行数据验证,所以一开始在网上找了很多资料,但是大部分都是有关SpringBoot + JPA的多数据源整合。之后找到了微笑大神的一篇blog,在这里感谢微笑大神,参考博客请看这里预先说明在整合多数据源时,两个或两个以上,一定得定好一个主数据源,不然会报错,比如:事物方面会报错。@Primary:SpringBoot自动装配时,当出现多个Bean候选...

2019-02-13 16:33:24 3396 1

原创 SpringBoot + AOP + MySQL监控系统数据变更实战

Spring Boot 2.x

2019-01-31 11:27:15 7097 11

原创 Git命令详细使用

序言:目前,Git是比较流行的版本管理系统。相比于SVN,我更偏爱Git! 本文将详细介绍使用Git的一些心得。什么是Git?Git是一种分布式版本控制系统(DVCS),也称为分散式。每个开发人员都拥有存储库的完整副本,该存储库位于云中(远程仓库)。安装Git本人使用的是Mac,终端自带Git工具Mac:通过Homebrew安装# 安装homebrew/usr/bin...

2019-01-25 09:10:39 435 3

原创 SpringBoot + Netty-SocketIO在项目中实战详解

序言:因工作项目需要使用到推送功能,且与前端Socket.IO框架对接,因此使用了Netty-SocketIO。Netty-SocketIO顾名思义是基于Netty的SocketIO,底层是基于Netty。有关SocketIO的相关API与官网提供的NodeJS版本API相似,相关配置与Netty相关配置相似。以下代码在SpringBoot项目中书写,解释都在代码里,直接看代码吧。nett...

2019-01-24 11:56:34 5165 3

原创 让你的函数柯里化(函数接口)!

让你的函数柯里化!柯里化的概念在这里不做过多的介绍,相信读者通过Google、Bing会获得更全面的资料,这里给大家带来工作中有关于代码优化的事情。工作之余检查写完的代码之后,发现代码有一些需要优化,刚好使用JDK8推出的函数式编程优化了代码(Lambda+Function),在这里分享给大家。如有错误,谢谢指出!需求为:从一个People集合中获取userDefineFields集合中的...

2019-01-24 11:51:20 117

原创 微服务多模块项目搭建

前言工具:IntelliJ IDEA 2020.3JDK: 1.8项目构建:Maven技术选型:Spring Boot + Spring Cloud + Spring Cloud Alibaba工程结构:|_parent/ |_user-server/ |_order-server/ |_pom.xml1. 先创建父工程项目选择 Spring Init...

2020-12-11 16:22:32 678

原创 从源码看:为什么@Transactional加在private上无效

1. 先找到这个注解:image.png2. 会自动加载这个类image.png3. 默认为mode = PROXY, 进入这个类image.png4. ProxyTransactionManagementConfiguration 类image.png5. 看TransactionInterceptor 类image.p...

2020-08-17 17:02:32 7309 1

原创 从源码看:为什么不能在for 循环中对集合进行add

1. 编写代码:lab-1.png2. 看编译后的 .class文件lab-2.png3. 可以看出for循环底层实现还是iterator, 接下来看iteratorlab-3.png4. 结果lab-4.png

2020-08-17 16:40:05 282

原创 Spring Cloud Alibaba Nacos 初探

什么是Nacos?官方文档概括:服务发现、服务配置、服务共享与管理等解决什么问题?服务直接如何相互调用服务的配置管理服务架构服务架构图搭建Nacos Server下载 nacos-server 安装包安装浏览器执行: http://localhost:8848/nacos 效果编写Client代码,实现服务间调用创建...

2020-03-17 22:29:52 162

原创 SpringBoot中使用Maven插件拆分部署项目

1. 前言本篇博客记录在工作中的学习心得!在SpringBoot项目中,一般使用默认的配置将项目打包成一个内嵌Tomcat的jar,在服务端之间java -jar 项目名.jar,这样就可以启动了。但是,当每修改一点点东西都要替换掉整个jar,而且后台运行jar的方式也比较复杂。本文只针对在使用SpringBoot做单体应用,而不是分布式部署,具体分布...

2019-05-14 18:25:00 487

原创 Docker安装常用软件之MySQL

前言本篇博客主要记录使用Docker安装MySQL的细节以及详情,以下安装通过图片展示和指令总结。安装MySQL1. 拉取镜像拉取镜像第一步使用到的Docker命令# 搜索mysql镜像docker search mysql# 拉取mysql镜像docker pull centos/mysql-57-centos7...

2019-04-28 10:08:00 379

原创 Docker简介及常用指令使用

前言最近在使用Docker中,深刻感受到Docker在工作中带来的优势,所有对Docker进行一些常用的总结。作为一名Java开发攻城狮,Docker这个技术是必须要掌握的!为什么这样说呢?在实际开发中,Docker可以提高我们的开发效率以及项目环境搭建。在未使用Docker之前,都是在本地搭若干个虚拟机进行项目的部署,这样的方式占据可大量的磁盘空间以...

2019-04-27 17:16:00 192

原创 剖析Java线程之间的通信

案例两个线程规律交替输出1,2,3,4,5,6....10需求分析线程间通信(控制线程的切换,也叫等待唤醒机制(A - 锁 - B))notify(),唤醒同一锁的某个线程notifyAll(),唤醒同一锁的全部线程wait(),停止当前线程,释放锁wait(long timeout),等到特定的时间,自动停止当前线程,释放锁...

2019-04-27 15:56:00 259

原创 SpringBoot初探

本文介绍Spring Boot入门Demo,以及一些常用配置什么是Spring Boot?随着动态语言的流行(Ruby、 Groovy、 Scala、 Node.js), Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,Spring Boot应运而生。它使用“习惯优于配置”(项目...

2019-04-26 14:54:00 100

原创 Linux下Maven的安装

由于近期在Linux上搭建Maven私服仓库,在网上查了一堆资料,发现都是3.5.x的版本教程,而且下载不了,提示Not Found。后面换成apache-maven-3.6.0就好了,还有一个前提就是安装好JDK。下载前提请安装wget,若没有安装请执行以下命令yum install wget下载mavenwget http://...

2019-04-26 14:52:00 100

原创 防止API重复请求(集群环境)

背景先了解一下需求详情:在项目的开发中,安全这块是必不可少的,今天的问题是:防止API重复请求。为什么要防止API重复请求呢?就是为了防止一些恶意的请求!实现思路基于Spring Boot 2.x自定义注解,用来标记是哪些API是需要监控是否重复请求通过Spring AOP来切入到Controller层,进行监控检验重复请求的Key:Token + Servlet...

2019-04-08 16:30:59 1273

原创 不让浏览器弹出保存帐号和密码窗口的解决方案

前言最近接到一个需求:用户在登录时,不让浏览器弹出保存帐号和密码的弹框。针对这个需求,搜了很多资料,大致总结为:通过配置属性(autocomplete、disabled等属性)加隐藏域切换input的type通过ajax提交(使用JQuery)前三种,都测试过,并不是所有的浏览器都可以,比如:Google,Safari,IE是可以的,...

2019-04-08 11:17:00 7796

原创 剖析Java中死锁的原因以及实现

死锁的原因首先,产生死锁需要两个锁对象(假设A,B),两个线程同时运行,并使用两个锁对象。简单的说就是锁A等待锁B释放,而锁B等待锁A释放,这样就产生了所谓的死锁。当然产生死锁的机率并不是100%,而是有一定的机率;原因是CPU在线程之间切换是没有规律的,所以产生死锁,具体看CPU的调度。请看下面实现代码,再进一步剖析:public class D...

2019-03-27 12:45:00 167

原创 SpringBoot + Mybatis + PostgreSQL JSON数据处理

继 上篇博客的遗留问题:MySQL数据库,存储类型是VARCHAR(255),很容易超出上限。而且在实际项目中使用的是PostgreSQL数据库,有JSON格式的数据类型。为什么要处理JSON格式的数据类型?在项目中持久层框架使用的Mybatis,Mybatis并未提供直接处理JSON的相关类,所以需要我们手动创建处理JSON的类,继承Ba...

2019-03-25 14:13:00 5757

原创 记一次BUG:File.createTempFile(prefix, suffix);

背景在之前做文件上传与下载时,在这里记录一个遇到下载文件的坑,希望大家看了可以避免。BUG来源背景:在做下载文件时,后台使用的是选择response输出到客户端,通过设置请求头,进行下载:response.setHeader("Content-disposition", "attachment; filename=" + fileName)...

2019-03-25 13:52:00 3011

原创 SQL学习

1. SQL关键字释义SELECT:查看结果的列,或者聚合函数相关计算FROM:从哪个表中查数据WHERE:根据条件,过滤表中的数据GROUP BY:将WHERE过滤的数据行分组HAVING:对分组的数据进行过滤ORDER BY:按照什么顺序来排序最后的数据2. 关键字执行顺序根据SQL关键字释义,执行顺序如下:FROM -...

2019-03-22 13:01:00 75

原创 SpringBoot + SFTP 实现文件上传与下载实战

背景近期在工作中需要实现文件的上传与下载,一开始打算使用一些高级的文件系统,比如:FastDFS,GlusterFS,CephFS,这些高级厉害的文件存储系统,当然博主也花了两周的时间把这三个FS都玩了一遍。个人认为FastDFS使用以及部署最简单,比较适合存储图片以及中小型文件(<500M),毕竟是国产框架(点赞);而GlusterFS和Cep...

2019-03-19 15:43:00 12083

原创 记一次BUG:深拷贝与浅拷贝(Java)

记录在近期工作中的一个BUG。需求:从所有邮件模板中,筛选出符合的邮件模板,根据不同的数据,将模板中特定的“字眼”替换为具体的值。这里只针对BUG相关的问题,不涉及与业务相关。深拷贝与浅拷贝的概念深拷贝可以理解为:对对象完全的拷贝,一个对象在内存中所占得内存大小,深拷贝就是拷贝一份一模一样的对象在堆内存中。浅拷贝通俗易懂的讲:就是对象的...

2019-02-25 17:34:00 124

原创 Git 版本管理详细使用

序言:目前,Git是比较流行的版本管理系统。相比于SVN,我更偏爱Git! 本文将详细介绍使用Git的一些心得。什么是Git?Git是一种分布式版本控制系统(DVCS),也称为分散式。每个开发人员都拥有存储库的完整副本,该存储库位于云中(远程仓库)。安装Git本人使用的是Mac,终端自带Git工具Mac:通过Homebrew安装...

2019-02-21 14:28:00 236

原创 SpringBoot+Mybatis(Mysql/PostgreSQL)多数据源实战详解

前言由于项目中需要使用到多个数据库进行数据验证,所以一开始在网上找了很多资料,但是大部分都是有关SpringBoot + JPA的多数据源整合。之后找到了微笑大神的一篇blog,在这里感谢纯洁的微笑大神,记录下个人实战过程的注意点以及相关配置。预先说明在整合多数据源时,两个或两个以上,一定得定好一个主数据源,不然会报错,比如:事物方面会报错。...

2019-02-20 13:59:00 1536

原创 SpringBoot + AOP + MySQL监控系统数据变更实战

记录一下Spring AOP切入DAO层,进行数据监控。在写这个需求时,从网上找了很多的资料,大部分都是没有解决相关问题的。当然也有少数部分解决,但用的还是SSM架构的xml配置。一开始我的出发点是通过注解@annotation的方式来切入DAO需要监控的方法,但是并没有用。接下来剖析下个人的实现和思路。相关依赖spring-boot-star...

2019-02-19 21:35:00 1035

原创 SpringBoot + Swagger + RESTful API实战详解

SpringBoot简单介绍已经有一篇相关博客,大家可以参考这里,本篇博客主要SpringBoot实战Swagger与RESTful的开发。接下来进入正题:Jar的相关版本为:Spring Boot 2.0.2Swagger 2.8.0Swagger简介对于Swagger的理解,其实就是一个工具,是一个构建API的工具。根据Contro...

2019-02-18 11:16:00 1427

原创 Mybatis中PostgreSQL的LIKE关键字使用大全

简介LIKE关键字LIKE在SQL中做模糊查询,比如模糊搜索,模糊查询等等功能。下面介绍PostgreSQL的LIKE关键字使用大全CodingSELECT * FROM public."user"WHERE UPPER(username) LIKE UPPER('%' || #{username} || '%');SELECT * FROM public."user"WHERE...

2019-02-13 10:56:17 8697 1

原创 SpringBoot + Swagger + RESTful 实战详解

Spring Boot 2.x

2019-02-07 22:26:22 492 1

原创 记一次BUG:深拷贝与浅拷贝(Java)

记录在近期工作中的一个BUG。需求:从所有邮件模板中,筛选出符合的邮件模板,根据不同的数据,将模板中特定的“字眼”替换为具体的值。这里只针对BUG相关的问题,不涉及与业务相关。深拷贝与浅拷贝的概念深拷贝浅拷贝...

2019-01-28 11:30:35 370

原创 Linux下Maven的安装

由于近期在Linux上搭建Maven私服仓库,在网上查了一堆资料,发现都是3.5.x的版本教程,而且下载不了,提示Not Found。后面换成apache-maven-3.6.0就好了,还有一个前提就是安装好JDK。下载前提请安装wget,若没有安装请执行以下命令yum install wget下载mavenwget http://mirrors.cnnic.cn/apac...

2019-01-25 11:39:24 137 1

原创 SpringBoot初探

本文介绍Spring Boot入门Demo,以及一些常用配置什么是Spring Boot?随着动态语言的流行(Ruby、 Groovy、 Scala、 Node.js), Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,Spring Boot应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置-一个习惯性...

2019-01-25 09:43:38 230

原创 Spring框架简介

序言:对Spring框架的一些总结Spring框架的特征轻量级IOC(控制反转思想),非侵入式AOP(面向切面编程思想)容器/工厂谈谈对Spring的理解spring是一个开源框架,为简化企业级应用开发而生spring可以使用简单的javaBean实现只有EJB才能实现的功能spring是一个**IOC(控制反转)和AOP(面向切面编程)**容器框架方便解耦,简化开发...

2019-01-25 09:43:27 103

原创 终端之间连接助手:Warp

环境:Mac OS第一步:安装,打开终端:brew install warp第二步:使用:warp open对方连接//rKdSNrp8r58f917y 就是对应的连接码warp connect rKdSNrp8r58f917y第三步:Help//warp 直接回车warpopen :创建、connect:连接、state:状态、authorize:授予...

2019-01-25 09:10:32 5384

原创 Use the terminal to create Maven projects

在终端(命令行)使用mvn命令创建Maven Project.前提安装好maven,环境:Mac OS查看版本mvn --v (mvn -version)maven创建java项目mvn archetype:generate -DgroupId=com.java_demo -DartifactId=java_demomaven创建web项目mvn archetype:...

2019-01-25 09:10:20 117

原创 细谈浅析Mysql在Java项目中使用C3P0包和DBUtils对数据库的操作

前言,本篇博客适合初学的java开发者阅读,了解一些底层的原理和思想。实际在工作中这些东西并不会再接触(除C3P0),但是万变不离其宗!底层原理原理和思想非常重要!如需更正请详细指出,相互学习,感谢。所需jar包要在Java项目中连接数据库,必须需要mysql驱动包.mysql-connector-java-5.1.39-bin.jarC3P0.c3p0-0.9.1.2...

2019-01-25 09:10:13 507

原创 阿里云服务器搭建以及Linux安装软件小结

序言:总结一下对阿里云服务器的配置以及Linux命令的简单使用购买首先,在阿里云官网购买云服务器ESC (https://promotion.aliyun.com/ntms/campus2017.html?spm=5176.8142029.631162.75.68606d3e9rbcEa) 。这个网址是学生优惠,非常划算!配置密码配置连接(登录)服务器密码、设置远程连接密码...

2019-01-25 09:09:37 2347

原创 定时任务调度工具之Timer

序言:本文主要对Timer类的介绍以及API的使用详情是什么是定时任务调度?基于给定的时间点、给定的时间间隔或者给定的执行次数自动执行任务。Timer 由JDK自带提供!Timer的定义有且仅有一个后台线程对多个业务线程进行定时定频率的调度Timer定时调度任务的四种用法首先,创建一个MyTimerTask类,继承TimerTaskpublic class MyTime...

2019-01-25 09:09:26 141

原创 记一次面试:static关键字(Java)

序言:近期朋友提到了一个有关于static关键字一个坑,今天把它总结一下,希望能给读者解惑。在阅读之前请先对static不同使用场景的概念有所了解。Codepublic class Test { private static Test t1 = new Test(); { System.out.println(&amp;amp;amp;quot;blockA&amp;amp;amp;quot;); } s...

2019-01-25 09:09:17 687

原创 FastDFS + Nginx搭建文件系统

前言近期在学习搭建FastDFS文件系统,参考网上资料以及自己爬坑,总结如下。感谢在网上提供学习文档的大佬,在这里引用参考。环境阿里云、Linux、Cent OS 7.21. 安装libfastcommonlibfastcommon是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库,基础环境,安装即可# 在 ~/ (root) 下新建fastdfs-in...

2019-01-25 09:09:04 210

jdk-7u80-macosx-x64.dmg

jdk-7u80-macosx-x64.dmg 解压后就是 DMG 安装文件 - 版本 Oracle JDK 1.7

2022-10-23

jdk-7u80-macosx-x64.dmg 安装后的应用文件,只适用 Mac OS 系统

1. 下载即用(IDEA中选择即可) 2. 系统配置环境变量可全局使用

2022-10-23

使用BLE4.0 与 蓝牙设备详解

技术点:对于初步接触iOS开发者,相信这个工具类会让你了解蓝牙类的使用与结构

2018-04-19

弹幕-Swift

使用Swift写的一个小Project-弹幕 技术点:Swift的基本语法,弹幕的实现原理

2018-04-19

仿淘宝、天猫、京东的物流信息界面

iOS端仿淘宝、天猫、京东物流信息界面 技术点:CustomTableViewCell

2018-04-19

iOS - 记账

iOS 端记账APP,使用FMDB做数据存储,涉及贝塞尔曲线,界面随机动画跳转,饼图统计等等

2018-01-10

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

TA关注的人

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