自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

原创 linux下安装部署apollo,本地springboot整合apollo获取参数(亲测成功)

文章目录1.linux部署apollo1.1.环境准备1.2.下载上传到服务器1.2.1.下载源码自己编译(需要修改源码的可以选择)1.2.2.下载官方编译好的1.3.下载sql文件,生成数据库1.4.修改配置1.4.1.分别修改三个服务下的数据连接配置文件 /config/application-github.properties1.4.2.分别修改三个服务下的启动端口号配置文件 /scripts/startup.sh(可选)1.4.3.修改apollo-portal服务的下的meta配置:ap

2020-07-22 11:05:20 6988

原创 华为云服务器CentOS7.6下安装MySql5.7并远程连接

才买了台华为云服务器,装的CentOS,我用的FinalShell工具连接的我的服务器,目的是得使用linux系统操作你的服务器,本人觉得FinalShell还是挺好用的,需要的话可以百度自行下载。而我在安装MySql的时候遇到了阻碍,从网上找了一大堆方法,繁琐复杂,而且时不时报出一大堆错误,所以我总结了好多方法,将安装方法尽可能提炼以下步骤:#########################...

2020-02-03 14:13:19 3226

原创 Android Studio解决模拟器获取不到root权限问题

cmd 进入命令行输入adb输入命令adb remount ,意思是将设备改为可读可写;显示remount succeeded就代表命令执行成功;如果不成功 输入 adb root 进入root模式(如果还是获取不到root权限,看一下自己下载的模拟器是否是带谷歌api的,不是的话重新下载一个)1.点击:2.点击Create Virtual Device…3.选择模拟器,点击n...

2019-11-05 16:36:37 3451 2

原创 商户绑卡银行卡流程设计优化

按照域的划分,银行卡数据应该放在支付平台,商户不应该维护一份银行卡数据,已现有基础进行了梳理和优化,增加绑卡流水概念,后续商户平台只留银行卡绑卡流水数据。商户绑卡会调用支付平台进行绑卡,但是历史平台将数据留存了一份,所以目前现状,商户平台维护一份数据,支付平台维护一份数据,可能导致数据不一致。因为有上层业务,直接依赖商户平台存的银行卡数据,所以目前商户历史银行卡表做对支付平台数据同步,后续推动业务切至支付平台接口能力。将商户平台数据和支付平台数据,在运营后台展示,可进行操作,查看对应的日志。

2023-01-17 16:04:48 921

原创 分享一些工作中用到的Http工具类

【代码】分享一些工作中用到的Http工具类。

2022-10-08 12:17:35 302

原创 DDD架构下的分层以及@Transactional事务与Spring事件机制使用

DDD下的分层以及事件机制的使用

2022-06-09 14:43:20 1636

原创 基于Redis实现的单态登录-附代码

1.现有情况我们有客户端PC端和App端。1.App端要实现单设备登录,App端账号在一台设备上登录后,其他App端该账号token自动失效。2.PC端,一个客户端只能登录一个账号。

2022-04-01 16:41:18 926 1

原创 Spring中使用ApplicationEvent机制,实际项目开发使用

Spring中使用事件非常简单,只需要以下的几个步骤:1.定义事件,继承ApplicationEvent2.定义监听,要么实现ApplicationListener接口,要么在方法上添加@EventListener注解3.定义发布事件借口,调用ApplicationContext.publishEvent()或者ApplicationEventPublisher.publishEvent();4.业务调用发布事件业务场景: 注册账号完成之后,需要将账号信息同步到权限平台。——————————

2021-10-19 14:35:25 1150

原创 面向对象设计原则——优先使用对象组合,而不是继承(组合以及与继承的区别)

看到面向对象设计原则中的合成复用原则:优先使用对象组合,而不是继承类继承:也叫白箱复用 对象组合:也叫黑箱复用。继承某种程度上破坏了封装性,子父类之间的耦合性过高。对象组合只要求被组合的对象具有良好定义的接口,耦合读较低。简单理解:继承需要了解具体实现细节,而对象组合只需要了解对方能干什么,不需要了解具体细节。继承和组合都可以实现代码的复用。“is-a”(是)关系使用继承!“has-a”(拥有)关系使用组合!最后总结为以下几点:1)组合(has-a)关系可以显

2021-07-29 16:49:01 1954 1

原创 @Transactional注解下,Mybatis循环取序列的值,但得到的值都相同的问题

数据库使用的是pgsql,使用nextval()函数获取递增序列号。1、原有的语句:出现循环取序列值相同<select id="getSEQByTableName" resultType="java.lang.Integer"> select nextval(#{tableName})</select>2、问题原因:在同一事务下,mybatis二级缓存导致的!3、解决方法:在 mapper.xml 添加属性 useCache=“false” flushCache=“t

2021-07-28 15:39:55 625

原创 linux执行文件 ./与sh区别

linux ./与sh区别1 ./需要执行权限,使用脚本文件中第一行#!指定的shell(解释器)来执行命令(譬如常见的/bin/bash),不指定系统会调用默认shell程序2 sh不需要执行权限,是使用sh这个shell执行命令,是个软链接,它可能是一个任意的shell,通常默认是bash shel,用type命令可以查看...

2021-02-20 11:16:53 970

原创 redis的setnx()、get()、getset()方法 实现分布式锁

一.redis命令讲解:setnx()命令:setnx的含义就是SET if Not Exists,其主要有两个参数 setnx(key, value)。该方法是原子的,如果key不存在,则设置当前key成功,返回1;如果当前key已经存在,则设置当前key失败,返回0。get()命令:get(key) 获取key的值,如果存在,则返回;如果不存在,则返回nil;getset()命令:这个命令主要有两个参数 getset(key, newValue)。该方法是原子的,对key设置newValu

2020-11-10 12:01:11 1147

原创 LeetCode——24. 两两交换链表中的节点

题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]思路:记录一个非常好的递归思想,为以后运用递归打下基础。递归思想:题目要求是链表节点两两相交,链表1-> 2-> 3-> 41和2交换,3和4交换。我们可以想象把链

2020-11-03 17:35:05 157

原创 LeetCode——941. 有效的山脉数组

给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < ... A[i-1] < A[i]A[i] > A[i+1] > ... > A[A.length - 1]示例 1:输入:[2,1]输出:false示例 2:输

2020-11-03 15:30:09 110

原创 leetcode:8. 字符串转换整数 (atoi)——代码详解

题目:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个有

2020-10-29 11:55:24 166

原创 记录一下费了一些功夫的Mybatis复杂动态Sql

记录一下费了一些功夫的Mybatis动态Sql: <select id="dsList" resultType="cn.com.newcapec.modules.jyb.entity.DualSelectEntity"> (SELECT * FROM `j_dual_select` where origin='talents' and enable='true' and status=1 <if test=

2020-10-28 10:53:21 168

原创 leetCode:6. Z 字形变换

题目描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s

2020-10-27 16:37:45 452

原创 Java——最长回文子串(Longest Palindromic Substring)(中心扩展算法)(代码详细步骤讲解)

最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”中心扩展算法:思路:中心扩展法,首先并不知道中心在哪,所以从字符串第一位开始试,因为中间位可能是重复的,比如abba;中间位b就是重复的,所以定义变量low和high;low:相当于指向中间位置的第一位;high:相当于指向中间位置最后一位;

2020-09-02 16:29:37 674

原创 leetcode——662:求二叉树最大宽度

给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。示例 1:输入: 1 / \ 3 2 / \ \ 5 3 9 输出: 4解释: 最大值出现在树的第 3 层,宽度为 4 (5,3,null,9)。示例 2

2020-08-31 14:47:26 672

原创 二叉树的最大最小深度——BFS和DFS初级应用

二叉树的最小深度,BFS和DFS算法的初级入门应用,特此记录一下。广度优先搜索算法(Breadth-First-Search,缩写为 BFS),是一种利用队列实现的搜索算法。深度优先搜索的步骤分为 1.递归下去 2.回溯上来。顾名思义,深度优先,则是以深度为准则,先一条路走到底,直到达到目标。这里称之为递归下去。否则既没有达到目标又无路可走了,那么则退回到上一步的状态,走其他路。这便是回溯上来。深度优先搜索算法(Depth-First-Search,缩写为 DFS),是一种利用递归实现的搜索算法。广度

2020-08-21 10:03:51 402

原创 老虎集团,Java校招开发笔经

1、给定一个字符串,要求字母按照频率由高到低打印,要求时间复杂度为O(N)。 public static String frequencySort(String s) { Map<Character, Integer> map = new HashMap<>(); if (s.length() > 0) { for (int i = 0; i < s.length(); i++) {

2020-08-17 09:34:56 340

原创 剑指offer——重建二叉树(思路与解释)

题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000二叉树遍历序列特性:先序遍历:根节点→左子树→右子树。中序遍历:左子树→根节点→右子树。后续遍历

2020-08-10 10:08:48 255

原创 Elasticsearch安装错误

Elasticsearch安装错误1.启动内存不足$./bin/elasticsearchJava HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)## There is insufficient memory for the Java Runtime En

2020-08-07 16:32:47 265

原创 maven实践记录-——多模块之公共模块调用

如图有三个model,2和3有相同的实体类:在2和3模块中有公共的实体类:将2和3中公共的实体类删除,放到1模块中;在2和3模块的pom文件中分别添加: <dependency> <groupId>com.atguigu.springcloud</groupId> <artifactId>cloud-api-commons</artifactId> <version>${pr

2020-07-15 10:04:01 1250

原创 pom.xml里面依赖dependency的元素标签optional的作用

pom.xml里面依赖dependency的元素标签optional的作用假如你的Project A的某个依赖D添加了true,<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> <

2020-07-15 09:16:57 1004

原创 广电Java研发实习总结

普通本科准大四学生,投了广电的实习生,工资3500,待遇优越。面试分为笔试和面试。Java实习竞争压力大,人才多收的少。面试官人很好,所以说话有些亲切感,因为在学校有幸参与了实际项目开发,所以面试聊项目时间长一些。分为笔试和面试;以下是一些笔试和面试问题总结:笔试:1.JAVA设计模式2.JAVA 四个修饰符作用域3.Java8的新特性4.string、stringbuilder、stringbuffer区别5.Hashtable,HashMap,ConcurrentHashMap 底层

2020-07-07 22:41:16 272

原创 刷题记录——LeetCode:无重复字符的最长子串

无重复字符的最长子串:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最...

2020-04-20 18:49:38 174

原创 Java—反射(框架设计灵魂)记录

Java—反射(框架设计灵魂)首先,Java代码在计算机中经历的三个阶段:框架:半成品软件。可以在框架的基础上进行软件开发,简化编码反射:将类的各个组成部分封装为其他对象,这就是反射机制好处:可以在程序运行过程中,操作这些对象。可以解耦,提高程序的可扩展性。获取Class对象的方式:Class.forName(“全类名”):将字节码文件加载进内存,返回...

2020-04-15 22:56:04 185

原创 刷题记录——LeetCode:面试题68 - II. 二叉树的最近公共祖先

LeetCode:面试题68 - II. 二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null...

2020-04-14 22:26:03 227

原创 刷题记录——LeetCode:1. 两数之和

LeetCode:1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回...

2020-04-14 21:24:29 250 1

原创 刷题记录——LeetCode: 2.两数相加

LeetCode:2.两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出...

2020-04-14 20:57:43 164

原创 阿里Java实习一面

阿里Java实习一面:约好了晚上九点,等了一个多小时以为面试官忘了,上床睡觉。十一点已经睡觉了,手机响起来。可能是太晚了,没有问很多东西。1.介绍一下自己2.介绍项目3.你在项目中觉得难点是什么,怎么解决的4.数据库事务了解吗?5.你知道acid吗?6.还有常用的设计模式,挑几个熟悉的讲解一下。7.乐观锁,悲观锁8.多线程乐观锁和悲观锁是怎么实现的9.hashmap的底层实...

2020-03-27 11:46:52 316

原创 2020春招Java实习笔试题

第一题忘了,第二题:m×n矩阵,0表示隐藏不可见,矩阵每一行是一个等差数列,差是整数,如果访问的位置0所隐藏的值可以算出,输出值,不可以算出,输出Unknown;比如:23的矩阵:1 0 30 0 00表示隐藏值,第一行的0可以算出值为2,第二行算不出,访问第二行任意的位置输出unknown;输入:第一行输入m,n,q;m,表示m行n列矩阵,q表示访问次数;第二行往下m行开始输入m...

2020-03-25 17:59:43 543 1

原创 阿里的素质在线测评2020春招Java实习

分为四部分:第一部分(总共10分钟):10道题——10分:文章大意题。读一段长句子,选择大概意思,每道题75秒——60秒;第二部分(总共10分钟):10道题——10分:图标计算题。会让你计算一些增长率了之类的,或者根据图表从选项中选择正确的;75秒——60秒;计算来不及细算,算个大概,选择选项。第三部分(总共10分钟):10道题——10分:找规律题。根据给出的图形,推选下一个图形。75...

2020-03-21 12:00:08 2977

原创 http、https、tcp三次握手,四次挥手学习笔记

HTTP,HTTPS和TCP介绍:**HTTP(超文本传输协议)**是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。是用于www浏览的一个协议。HTTPS(超文本传输安全协议) = HTTP + SSL/TSL(安全层),HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证...

2020-03-21 10:24:46 2062

原创 算法符号学习记录---符号Θ、Ο、Ω学习记录

算法符号学习记录—符号Θ、Ο、Ω学习记录(1)Θ (西塔)         紧确界。        相当于"="(同阶)(2)O (大欧)         上界。 &nbsp...

2020-03-18 11:11:12 1562

转载 哈希表、Java中HashMap

哈希表、Java中HashMap 原创 ...

2020-03-17 15:29:08 180

原创 省市区地址选择器(三级)基于layui

今天发现网上好多地址选择器居然是收费的。在这分享一套基于layui框架制作的省市区下拉框三级联动菜单选择,支持三级联动城市选择,点击提交获取选中值代码。资源连接:https://pan.baidu.com/s/1yJ7wYpGH9MaJv3Wn6JiqlA提取码:1abv示例图如下:...

2020-02-27 16:36:27 1577

原创 动态规划算法(斐波那契数列,剪绳子问题)

记录学习的动态规划算法。1.理论理解:基本思想动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法...

2020-02-23 19:17:33 955

原创 JAVA判断并输出素数

记录一下给别人讲的简单判断素数方法。输出100-200之间的所有素数。@Test public void PrimeNumber() { int n=200; //第一个for控制100-200的每一个数 for (int i = 100; i <= n; i++) { //定义一个int变量,初始值为0; int flag=0;...

2020-02-23 17:13:20 1642

jdk1.8API Google翻译中文文档.zip

jdk1.8新特性知识点: Lambda表达式 函数式接口 *方法引用和构造器调用 Stream API 接口中的默认方法和静态方法 新时间日期API

2020-02-05

jdk-11中文api修订版.zip

Java 11 新特性 官网公开的 17 个 JEP(JDK Enhancement Proposal 特性增强提议): 181: Nest-Based Access Control(基于嵌套的访问控制) 309: Dynamic Class-File Constants(动态的类文件常量) 315: Improve Aarch64 Intrinsics(改进 Aarch64 Intrinsics) 318: Epsilon: A No-Op Garbage Collector(Epsilon 垃圾回收器,又被称为"No-Op(无操作)"回收器) 320: Remove the Java EE and CORBA Modules(移除 Java EE 和 CORBA 模块,JavaFX 也已被移除) 321: HTTP Client (Standard) 323: Local-Variable Syntax for Lambda Parameters(用于 Lambda 参数的局部变量语法) 324: Key Agreement with Curve25519 and Curve448(采用 Curve25519 和 Curve448 算法实现的密钥协议) 327: Unicode 10 328: Flight Recorder(飞行记录仪) 329: ChaCha20 and Poly1305 Cryptographic Algorithms(实现 ChaCha20 和 Poly1305 加密算法) 330: Launch Single-File Source-Code Programs(启动单个 Java 源代码文件的程序) 331: Low-Overhead Heap Profiling(低开销的堆分配采样方法) 332: Transport Layer Security (TLS) 1.3(对 TLS 1.3 的支持) 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)(ZGC:可伸缩的低延迟垃圾回收器,处于实验性阶段) 335: Deprecate the Nashorn JavaScript Engine(弃用 Nashorn JavaScript 引擎) 336: Deprecate the Pack200 Tools and API(弃用 Pack200 工具及其 API)

2020-02-05

空空如也

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

TA关注的人

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