自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

【Mr-Coolerwu】

博客地址:http://wulang.vip

  • 博客(40)
  • 问答 (1)
  • 收藏
  • 关注

原创 《海绵阅读法:如何吸收一本书的精华》读后感

对《海绵阅读法:如何吸收一本书的精华》这本书,我做了文章整体的结构化的梳理,我对有启发的句子进行了扩展补充。

2024-03-11 21:07:19 307

原创 02-风控风险分类

目前,博主涉及到的是以金融风控、内容风控、操作风控为主的风控体系。

2023-09-06 20:36:26 312

原创 01-认识风控

如果把平台比做一棵树,那么需要足够多的养分才能使树茁壮成长;而业务风险则是充当寄生在树上窃取养分的角色;只有抵御这种风险,保持足够多的养分,才能使平台成长为参天大树——这就是风控存在的价值。接入风控,意味着概率性阻挡用户操作,与其用户体验背道而驰;那什么时候可以不使用风控?在非金融、非限定资源,亦或是对平台和用户不造成危害的场景下可以不使用风控,例如:美团外卖网站页面,最近上架电影浏览,股市股票价格列表。账号安全、交易支付、营销推广、数据推广。

2023-09-03 16:10:49 651

原创 《技术的本质》读后感

技术是一个被捕捉,并加以利用的现象大白话来说,技术是由N个子技术组合而来的,从而产生了新的现象,解决了当前技术的问题新技术的定义:针对现有目的而采用一个新的或不同的原理来实现的技术。

2023-08-14 21:49:58 257

原创 React构建的JS优化思路

之前个人博客搭建时,发现页面加载要5s才能完成并显示。

2023-08-13 17:50:39 1055

原创 搭建博客时前端美化内容CSS推荐

搭建博客时前端美化内容CSS推荐

2023-08-13 17:43:48 690

原创 Java接入Microsoft Azure AD实现SSO登录

SSO(SingleSign-On,单点登录)通过在IDP(身份验证提供商)登录成功后,就可以访问IDP关联的应用程序以及相关权限为了解决以下问题:用户使用多个应用程序时,需要创建多个账号如果用户在所有平台创建的账号密码一致,可能会导致账号密码泄露,非法用户会窃取用户的财产提高用户的体验感,降低创建账号的繁琐程序Azure Active Directory(Azure AD)是微软提供的一项云身份和访问管理服务,也就是IDP(身份验证提供商)

2023-04-09 23:48:05 1005

原创 Redis不是单线程,Redis有后台线程

文章目录序言概述后台线程的初始化bioInit方法后台线程的正常执行bioProcessBackgroundJobs方法lazyfreeFreeObjectFromBioThread方法lazyfreeFreeDatabaseFromBioThread方法lazyfreeFreeSlotsMapFromBioThread方法bioWaitStepOfType方法博主博客地址序言对于redis是否是多线程,这就是证据,该代码基于最新的redis源码说明。概述redis启动的时候,当所有模块加载完成后,

2020-07-22 11:21:43 646

原创 【leetcode】14. 最长公共前缀

package vip.wulang.leetcode.problem14;public class Solution { public String longestCommonPrefix(String[] strs) { if (strs == null || strs.length == 0) { return ""; } String str = strs[0]; int min = str.le.

2020-06-15 10:00:33 98

原创 【leetcode】1300. 转变数组后最接近目标值的数组和

package vip.wulang.leetcode.problem1300;import java.util.Arrays;public class Solution { public int findBestValue(int[] arr, int target) { // 1、排序,依次递增 // 2、用target/arr.length求出平均值 // 3、如果平均值小于等于当前arr[i],则返回这个平均值。 //.

2020-06-14 22:09:30 145

原创 【leetcode】112. 路径总和

思路:自顶向下。每次访问子树的时候,都要用sum减去当前节点的val值。叶子节点是指左右子树都为null,即为我们的base case,判断当目前为止sum是否为0。如果左子树已经找到了sum为0的,或者右子树已经找到了sum为0的,则返回true。package vip.wulang.leetcode.problem112;import vip.wulang.leetcode.structrue.TreeNode;public class Solution { public .

2020-06-14 12:33:08 132

原创 mysql: show processlist 详解

文章目录指令介绍博主博客地址指令介绍show processlist 是显示用户正在运行的线程,需要注意的是,除了 root 用户能看到所有正在运行的线程外,其他用户都只能看到自己正在运行的线程,看不到其它用户正在运行的线程。除非单独个这个用户赋予了PROCESS 权限。字段介绍:Id: 就是这个线程的唯一标识,当我们发现这个线程有问题的时候,可以通过 kill 命令,加上这个Id值将这个线程杀掉。前面我们说了show processlist 显示的信息时来自information_schem

2020-06-02 13:05:48 421

原创 史上最简单的FutureTask详解

文章目录类结构图状态图数据结构核心代码线程任务执行其他线程获取调用结果类结构图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4em7Nj6W-1590979770612)(evernotecid://2D133ED1-7EA0-4480-AF55-2E07F129479E/appyinxiangcom/19292289/ENResource/p902)]状态图NEWCOMPLETINGNORMALEXCEPTIONALCANCELLEDINTERRUPTINGINTE

2020-06-01 10:50:26 147

原创 java的cas原理(jvm底层实现的汇编语言)

文章目录简介jvm实现原理cmpxchgllock题外话简介CAS (Compare And Swap)比较并交换操作。CAS 有 3 个操作数,分别是内存位置 V、旧的预期值 A 和拟修改的新值 B。当且仅当 V 符合预期值 A 时,用新值 B 更新 V 的值,否则什么都不做。jvm实现原理以java中compareAndSwapInt方法为例子,位于unsafe.cpp:openjdk/hotspot/src/share/vm/prims/unsafe.cpp。UNSAFE_ENTRY(jb

2020-06-01 00:47:19 865

原创 教你们做一个基于Java的特别水的LRU和FIFO缓存淘汰

文章目录介绍LinkedHashMap介绍代码引用介绍LRU全称是Least Recently Used,即最近最久未使用的意思。LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。LinkedHashMap介绍它是一个双向链表 + 数组 + 单向链表 + 红黑树。说白了就是在HashMap的基础上加了个双向链表,这个双向链表用于在插入,删除,在链表尾部添加。因为HashMap已经

2020-05-31 16:30:56 151

原创 JDK14的AbstractQueuedSynchronizer(AQS)源码解析

文章目录介绍doc文档说明方法获取排他锁流程释放排它锁流程获取共享锁流程ConditionObjectawait方法singal方法jdk实现类CountDownLatch(共享锁)Semaphore(共享锁)ThreadPoolExecutor.Worker(排它锁)ReentrantLock(排它锁)ReentrantReadWriteLock(排它锁和共享锁)WriteLock(排它锁、可重入)ReadLock(共享锁)介绍基于JDK14的源码进行解析,需要看过源码后,再来理解本文会简单很多。d

2020-05-31 15:14:50 454 1

原创 ThreadLocal类源码详解,带领领略不一样的东西

总结每个Thread类维护了它自己的ThreadLocalMap的对象,并且Thread类只支持维护一个ThreadLocalMap对象,ThreadLocal用于对ThreadLocalMap的操作。对于其hash值,使用的是黄金分割数逐级增加,提高了hash碰撞的次数。ThreadLocalMap扩容的阀值是数组的长度乘以2/3。可以创建自己ThreadLocal,不会和框架的ThreadLocal冲突,因为每次创建的threadLocalHashCode都在变化。因为只服务于一个线程,所以不会有

2020-05-23 22:50:29 207 1

原创 GitLab修改密码后,本地无法推送至远程仓库

GitLab修改密码后,本地无法推送至远程仓库问题描述git push 报 HTTP Basic: Access denied 错误解决方案git config --system --unset credential.helper重新输入账号密码,就能解决了。如果想要详细了解,可以继续阅读。指令的作用官方文档用法git config credential.https://ex...

2019-09-16 17:17:31 2225

原创 Java并发编程:Thread.java源码解析

Java Thread源码解析1.前言  我们知道,new一个thread,调用它的start的方法,就可以创建一个线程,并且启动该线程,然后执行该线程需要执行的业务逻辑,那么run方法是怎么被执行的呢?2.正文2.1.Thread源码解析先看如下例子。 @Test public void test03() throws InterruptedException {...

2019-02-07 01:30:13 338

原创 Java通过JDBC实现配置文件创建数据库

Java通过JDBC实现配置文件创建数据库1.前景  把项目打包至服务器时,发现要手动创建多个数据,实属麻烦。便写了个通过JDBC创建数据库的小方法。2.步骤首先,先来说说该方法的思路。第一步,构造配置文件读取数据源的URL、账号、密码、要创建的数据库的名称集。第二步,加载配置文件,并使用创建一个Connection。第三步,执行创建数据库的SQL语句。2.1第一步配置文件如下所示...

2019-02-03 21:01:26 2416

原创 使用Java写出扫描包的工具

自制Spring容器——(一)包扫描前言  Spring的核心概念就是提供一种新的机制管理业务对象及其依赖关系。IoC(Inversion of Control 控制反转)/ DI (Dependency Injection依赖注入),AOP(面向切面编程)正文对于Spring,现在习惯的方式一般就是加注解进行扫描,比如@Component、@Service、@Controller、@...

2018-12-12 17:07:23 390

原创 关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation

关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation摘要  相信很多人和我一样,在编写Spring或者Maven或者其他需要用到XML文档的程序时,通常都是将这些XML文档头拷贝过来,并没有理解其中元素(比如xmlns,xmlns:xsi,xsi:schemaLocation)的真正含义,不知道哪些元素是多余的,也不知道为什么要加那些元素。前言先给大家看...

2018-11-22 15:04:38 1620

原创 Servlet + Spring 搭建Thymeleaf模板引擎小案例

JavaEE之Thymeleaf模板引擎前言  Thymeleaf模板引擎比较倾向于前端,了解过一点前端的人都会很快上手的。之所以不用JSP模板,是因为他还是原生的Java代码。换句话来说,就是Thymeleaf可以直接查看效果无需启动服务器,反之JSP就不行,必须依赖于服务器。这两种模板属于同一个方向,技术应用是要结合应用场景的。如果单纯从学习角度来看,学习哪个技术都没有错。但如果是要做产...

2018-11-21 14:09:23 722

原创 关于 Spring 父子容器的三个问题

关于 Spring 父子容器的三个问题前言  对 Spring 父容器和子容器做了一个案例的测试。对于已有的问题进行了一个好的测试。正文  我先把本项目的Web启动类,以及一些基本配置发上来。关于如何构建一个Web项目,可以参数我的这篇文章《纯Java启动Web(无配置web.xml)》。WebApp.java(启动类)package vip.wulang.start;impo...

2018-11-18 16:12:11 340 1

原创 纯Java启动Web(无配置web.xml)

纯Java启动Web(无配置web.xml)前言  突然奇想不用SpringBoot,并且不配置xml文件来启动Web应用程序!正文  先贴出程序所需的Java代码,如下:package vip.wulang.start;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatche...

2018-11-17 15:53:20 4079

原创 IDEA之构建一个Web基础项目

IDEA之构建一个Web基础项目前言  昨天构建Web基础项目,发现编辑器不知道怎么用了,用SpringBoot习惯了,因此做一个记录。正文  首先点击 ->File -> new Project -> maven -> Create from archetype -> maven-archetype-webapp -> next。如图:  然后输...

2018-11-13 15:34:09 115

原创 JDK8之时间线对象Instant

JDK8中Instant前言如果是 JDK8 的应用,可以使用 Instant 代替 Date,LocalDateTime 代替 Calendar, DateTimeFormatter 代替 SimpleDateFormat,官方给出的解释:simple beautiful strong immutable thread-safe。Instant详解FunctionalInterf...

2018-11-12 15:38:58 3525 1

原创 HashMap中推荐使用entrySet方式遍历Map类集合KV而不是keySet方式遍历

// 这是HashMap的KeyIterator、ValueIterator、EntryIterator的基本实现抽象类 abstract class HashIterator { // 下一项返回 Node<K,V> next; // 当前项 Node<K,V> current; ...

2018-11-11 02:32:51 2559

原创 基于SpringBoot构建Spring Data JPA

基于SpringBoot构建Spring Data JPA前言 最近在研究Hibernate的注解,故因此搭建一个Spring Data JPA,编辑器是IDEA。项目搭建点击 -> new Project然后一直next,然后就构建完成了。项目开始先创建几个文件夹,如图:通过数据库实例创建一个数据库,名字自定,我的数据库为spring-cloud在 -&g...

2018-11-09 12:12:12 490

原创 [LeetCode]课程表 II

现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1: 输入: 2, [[1,0]] 输出:...

2018-11-06 12:33:14 171

原创 构建Maven多模块

构建Maven多模块背景介绍 在学习《Spring-Cloud微服务架构》中,曾看到Maven多模块,一时来了兴趣便进行研究。我比较喜欢用IDEA,所以这里用IDEA来介绍了。学习之旅按照图中步骤一步步来然后一直next到底,然后删除没有必要的src文件。然后右键新建如图的一个子模块,名为child模块最后Blog pom.xml代码为<?xml version="1...

2018-11-02 21:31:39 230

原创 Java动态语言特性之MethodHandle MethodHandles MethodType的简单使用

对于子类调用父类的方法我们用super.Method()即可,但是倘若我们想调用其祖先类,并且在不改变其继承关系以及祖先和父类的代码的时候,该怎么办呢,代码样列如下:给大家三个类,可以先去了解再来熟悉下面的代码MethodHandle 它是可对直接执行的方法或者字段或者构造方法的类型的引用,或者说他是一个有能力安全调用方法的对象。MethodHandles 它是仅操作或返回方法句柄的静态方...

2018-08-13 22:45:10 2190

原创 [LeetCode]对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递归和迭代两种方法解决这...

2018-08-11 00:18:42 174

原创 基于注解的方式配置SSM

首先创建一个MybatisConfiguration.javapackage org.coolerwu.outsource.config;import com.mchange.v2.c3p0.ComboPooledDataSource;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring...

2018-06-09 00:43:39 1130

原创 [LeetCode]两个数组的交集 II

[LeetCode]两个数组的交集 II给定两个数组,写一个方法来计算它们的交集。例如: 给定* ***nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意:* * 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。跟进:如果给定的数组已经排好序呢?你将如何优化你的算法?...

2018-04-10 15:01:16 198

原创 [LeetCode]只出现一次的数字

[LeetCode]只出现一次的数字给定一个整数数组,除了某个元素外其余元素均出现两次。请找出这个只出现一次的元素。备注:你的算法应该是一个线性时间复杂度。 你可以不用额外空间来实现它吗?public int singleNumber(int[] nums) { if (nums == null || nums.length == 0) { ...

2018-04-10 14:37:45 111

原创 [LeetCode]存在重复

[LeetCode]存在重复给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数应该返回 true。如果每个元素都不相同,则返回 false。注意:只要有一个重复的 就返回 truepublic boolean containsDuplicate(int[] nums) { if (nums == null || nums.lengt...

2018-04-10 14:28:17 350

原创 [LeetCode]旋转数组

[LeetCode]旋转数组将包含n 个元素的数组向右旋转 k 步。例如,如果 n = 7 , k = 3,给定数组 [1,2,3,4,5,6,7] ,向右旋转后的结果为 [5,6,7,1,2,3,4]。注意:尽可能找到更多的解决方案,这里最少有三种不同的方法解决这个问题。提示:要求空间复杂度为 O(1)关联的问题: 反转字符串中的单词 IIpubli...

2018-04-10 14:01:10 140

原创 [LeetCode]从排序数组中删除重复项

从排序数组中删除重复项给定一个有序数组,你需要原地删除其中的重复内容,使每个元素只出现一次,并返回新的长度。不要另外定义一个数组,您必须通过用 O(1) 额外内存原地修改输入的数组来做到这一点。示例:给定数组: nums = [1,1,2],你的函数应该返回新长度 2, 并且原数组nums的前两个元素必须是1和2不需要理会新的数组长度后面的元素public in...

2018-04-10 13:20:58 88

原创 [LeetCode]买卖股票的最佳时机 II

买卖股票的最佳时机 II假设有一个数组,它的第 i 个元素是一个给定的股票在第 i 天的价格。设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交易(你必须在再次购买前出售股票)。注意:可以多次购买,购买前先卖出public int maxProfit(int[] prices) { if (prices == nu...

2018-04-10 13:17:31 200

空空如也

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

TA关注的人

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