java
马克Markorg
金融行业Java程序员,主要做金融方面的风控,支付。喜欢消息中间件,JavaWeb,爬虫,前端技术,Linux运维。
展开
-
java里面List<Object>转map,List<String>
java工具类原创 2022-11-03 20:00:09 · 1508 阅读 · 0 评论 -
一次CountDownLatch使用导致的服务不可用解决
java使用CountDownLatch没有处理异常,导致服务不可用。原创 2022-10-10 20:06:12 · 1904 阅读 · 0 评论 -
使用guava的SimpleTimeLimiter实现超时
依赖 <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.1.1-jre</version> </depend原创 2021-05-27 10:37:45 · 1583 阅读 · 0 评论 -
基于dubbo过滤器,隐式传参实现服务鉴权,字段控制
一 原理基于dubbo全局过滤器首先在项目src\main\resources\META-INF新建文件夹dubbo,在下面新建以过滤器包名为文件名的文件com.alibaba.dubbo.rpc.Filter配置文件里面配置两个过滤器AuthFilter=com.base.dubbo.filter.AuthFilterDubboServiceFilter=com.base.dubbo.filter.DubboServiceFilter服务鉴权过滤器package com.原创 2021-04-17 00:46:25 · 1005 阅读 · 0 评论 -
java四种线程池
一、四种线程池Java通过Executors提供四种线程池,分别为:1、newSingleThreadExecutor创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。2、newFixedThreadPool创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。3、newScheduledThreadPool创建一个可定期或者延时执行任务的定长线程池,支持定时及周期性任务执行。...原创 2020-07-16 02:01:19 · 969 阅读 · 0 评论 -
解决CAS操作ABA问题
一 使用场景我们先来看一个多线程的运行场景:时间点1 :线程1查询值是否为A时间点2 :线程2查询值是否为A时间点3 :线程2比较并更新值为B时间点4 :线程2查询值是否为B时间点5 :线程2比较并更新值为A时间点6 :线程1比较并更新值为C在这个线程执行场景中,2个线程交替执行。线程1在时间点6的时候依然能够正常的进行CAS操作,尽管在时间点2到时间点6期间已经发生...原创 2019-05-06 14:05:53 · 1448 阅读 · 0 评论 -
前端vue打包项目,解决跨域问题
前段时间做一个vue打包成安卓和IOS的App,遇到了跨域问题,直接拿了之前项目的配置,却不起作用。import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.spri...原创 2019-03-11 15:41:55 · 6920 阅读 · 0 评论 -
各种语言sha1加密总结
1.python import hmacimport hashlibimport base64encryptStr = 'appId' + appId + 'idNum' + idNum + 'name' + name # 被加密的my_sign = hmac.new(appKey, encryptStr, hashlib.sha1).digest() # appKey为...原创 2018-10-22 17:16:38 · 2722 阅读 · 0 评论 -
关于Spring ApplicationContext和Bean创建
在社区中似乎存在很多关于如何表达bean配置的困惑,或者更确切地说如何将bean配置从XML转换为Java(或Groovy,或Kotlin,或......),因为它看起来好像不同的配置方式产生的是完全不同的东西。 但事实上,它们或多或少是以格式(Java,XML,Properties)表示的配置,以指示Spring ApplicationContext(实际上是Bea...翻译 2018-07-23 23:20:27 · 5611 阅读 · 0 评论 -
Thread Local 模式介绍
首先通过图片来了解一下翻译 2018-07-01 16:53:26 · 423 阅读 · 0 评论 -
Java集合框架实用指南
1.选择正确的collection/map请参照此图正确的使用集合在选择正确的collection/map之前,您可以参考这些问题。我需要排序吗?我会有空的键/值?DUPS?它会支持多个线程访问吗?我需要使用键/值对吗?我需要随机访问吗?它允许按索引访问元素吗?它提供快速添加和快速移除元素吗?2.使用接口,而不是他的实现类作为类型1.始终使用接口类型作为类型。例如, 使用 List, Set, M...翻译 2018-06-30 15:45:52 · 188 阅读 · 0 评论 -
通过例子全面解析Java中的Aop技术-包括静态代理,动态代理,Spring Aop(全面解析,附带全部源码,小白看一遍也可以理解)
AOP概述(Aspect Oriented Programming)所谓AOP,就是面向方面(切面)的编程,简单来说,就是通过面向切面,在执行的方法前后加上所需要实现的事情,比如,日志,计算方法执行的时间,实现事务等。这样做的目的一方面在于不改变原有代码,提高通用性,最重要的是通过切面可以在需要的地方加上所需要做的任何事情。我们通过最简单例子来说明这里我们要实现在执行加减法运算的前后,分别打印出提...原创 2018-06-10 01:58:50 · 253 阅读 · 0 评论 -
Java并发包 java.util.concurrent解析
1. 概述 java.util.concurrent 包是JDK1.5之后加入的。这个包包含有一系列能够让 Java 的并发编程变得更加简单轻松的类。在这个包被添加以前,你需要自己去动手实现自己的相关工具类。这里我们基于jdk api来简单熟悉下concurrent 包下面的而一些比较常用的接口和类。2. 接口1. public interface ThreadFactory根据需要...原创 2018-06-23 13:10:27 · 420 阅读 · 0 评论 -
Java反射解析
一 反射简述 JAVA是一个静态语言,但是通过使用反射,我们可以在程序运行的时候获取一个类的所有的方法,属性,并且实现调用。二 反射的使用1.我们首先创建一个学生类package markorg.top.demo;public class Student { private int age; public String name; private String school;...原创 2018-04-30 16:06:57 · 167 阅读 · 0 评论