自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 线程工具之fork-join

Fork-joinfork-join是一个多线程并发工具,但是它屏蔽了多线程相关知识,只要遵循其开发模式即可.其核心思想为–分而治之.在十大经典算法中,快速排序、归并排序、二分查找,还有大数据中的R/M都是使用该思想.分治法设计思想:将一个难以解决的大问题,分割成n个小问题,而且n个小问题之间没有关联关系,独立且与原问题形式相同(子问题之间如果有关系,则变为动态规划算法),每个小问题的结果合并得到原大问题的解.Fork-Join原理工作密取即当前线程task做完了,则自动获取其他线程的tas

2021-02-06 21:25:00 361

原创 线程间共享和协作

线程间共享synchronized内置锁每个线程开始运行,都会分配一个独立的运行空间–栈空间.如同一个脚本按照一行一行代码运行,直到结束,但是如果每个线程都是独立的,那就变得没什么价值,或者价值很少,但是如果多个线程进行数据共享,协同处理同一件事情,那就会带来巨大价值.Java中支持多个线程同时访问一个对象或者对象的成员变量.虽然多个线程同时处理一件事情给我们带来很快的速度和很高的价值,同时也带来资源竞争问题.要处理这个竞争问题,Java引入了锁概念.synchronized内置锁:synchr

2021-02-06 12:17:26 168 1

原创 多线程初入门

线程名词:进程:资源分配的最小单位.线程:CPU执行的最小单位,共享同个进程资源.RR调度:时间片轮转机制

2020-12-28 12:01:36 106

原创 学习笔记---Docker

Docker简介Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余 项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。 Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。 (背景),云计算兴起后,服务器硬件扩展非常便利,软件服务部署成为了瓶颈,docker 趁势而兴。D

2020-10-03 18:48:33 421

原创 分布式全局异常处理

1、定义异常类public class BizException extends RuntimeException { private final static int DEFAULT_ERROR_CODE = 407; /** * 错误码 */ private int errorCode; /** * 错误信息 */ private String errorMsg; public BizException(){

2020-09-09 23:38:09 963 1

原创 设计原则和思想:面向对象-理论篇

设计原则和思想:面向对象-理论篇一、什么是面向对象面向对象编程和面向对象编程语言概念面向对象编程:简称之为OOP(Object Oriented Programming),它有两个非常重要的基础概念,即类(class)和对象(Object)。它是一种编程范式或者编程风格,以类或者对象作为组织代码的基本单元,并将封装、抽象、继承、多态四种特性作为代码设计和实现的基石。面向对象编程语言:是一种支持类和对象的语法机制,方便实现四种特性的语言。两者之间没有必然联系,面向对象编程不一定要用面向对象编程语言

2020-07-03 18:46:12 222

原创 设计模式学习之如何评判代码质量

设计模式学习之如何评判代码质量评判的标准有很多,各种各样的维度,下面主要通过几个常见的维度去分析可维护性(maintainability)维护性的重要性不言而喻,工程师大部分的时间都在代码的维护上,修改原代码,添加新功能,这个时候代码的维护难易程度就显得格外重要。影响维护性的因素有很多,比如代码的可读性,结构是否清晰,文档是否齐全,业务复杂度,代码量,拓展性等。但是这些大部分主观性都比较强,从侧面说,如果代码修改,新增比较容易完成,那可维护性就是好的。可读性(readability)代码可读性

2020-05-21 10:20:43 205

原创 自定义对象根据属性排序

自定义对象根据属性排序定义一个对象类 @Datapublic class ZmnUserPointRank implements Serializable { /** * 主键 */ @Id @Column(name = "`id`") @GeneratedValue(strategy = GenerationType.IDENTITY...

2020-05-04 15:58:20 208

原创 虚拟机安装教程

虚拟机安装安装准备安装虚拟机创建虚拟机安装准备首先准备安装包,就是一个虚拟机安装包和一个镜像,这里用的镜像是CentOS-7-x86_64-Minimal-1810.iso,可自行下载安装虚拟机虚拟机安装比较简单,这里就不讲了,下一步的操作,然后可以选择自己要安装的目录。创建虚拟机第一步:点击创建虚拟机第二步:使用典型方式第三步:选择稍后安装,直接选择镜像,有时候...

2019-11-09 23:50:22 440

原创 aop日志截取

第一步:创建切面package com.pactera.jep.alaska.backend.log.aspect;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.pactera.jep.alaska.backend.appback.custManager.serv...

2019-09-25 10:28:16 300

原创 将jar放到Maven仓库

一、在项目的pom.xml文件中加入依赖<dependency><groupId>xxxx.yyyy</groupId> //名字随便取不要跟已有的重复即可<artifactId>aaaa-oooo</artifactId> //名字随便取不要跟已有的重复即可<version>4.00</version&gt...

2019-07-23 08:52:32 263

转载 定时任务的 执行时间设置规则

spring 定时任务的 执行时间设置规则单纯针对时间的设置规则org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpression属性。一个cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义如下:1.秒(0–59)2....

2019-05-15 11:20:31 7284

原创 spring boot 项目搭建

可以继承spring-boot-starter-parent项目来获取合适的默认设置。想配置你的项目继承spring-boot-starter-parent只需要简单地设置parent为:<parent> <groupId>org.springframework.boot</groupId> <artifact...

2019-05-08 11:29:00 209

原创 JSON转换JAVA对象

一、java转为json字符串Student s = new Student();s.setName("huang");s.setAge(16);System.out.println(s);JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(s));System.out.println(js...

2019-04-25 16:24:34 22618 3

转载 基础知识

Java基础总结大全(实用)一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。java语言是跨平台,jvm不是跨平台的。JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。JDK(Java Development Kit):ja...

2019-03-01 10:07:17 213

原创 冒泡排序

冒泡排序原理:在一组数据中,寻找最大的那个数,一遍找出一个最大的,经过n-1次寻找得出排序结果public class BubbleSort {  public static void main(String[] args) {    int[] arr={9,4,6,2,7,1,8};    System.out.println("排序前数组为:" + arr);        ...

2019-02-28 15:05:48 98

原创 批量插入实现

一:使用map封装,这种方法使用于前端传值过来,然后封装批量插入1:先创建对象 Map&lt;String,Object&gt; map = new HashMap&lt;&gt;(); Map&lt;String, Object&gt; params = new HashMap&lt;&gt;(); Test test = new Test...

2019-02-26 10:44:51 2765 1

原创 OCR读取身份证地址字符串切割成省、市、区

1:OCR读取出来的身份证地址字符串切割为省、市、区/县、详细地址2:切割工具: public class AddressSubUtils { /** * 切割地址字符串 * @param addr * @return */ public static Map&lt;String,Object&gt; getAddress(Stri...

2019-02-15 09:20:38 5400 2

空空如也

空空如也

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

TA关注的人

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