
java
文章平均质量分 77
万物皆导_
写博客其实是自己想笔记罢了!
http://xu.wwjd.fun
展开
-
分治思想—看这篇就好了
何为分治当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出。对于这类问题,我们往往先把它分解成几个子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组合成求整个问题的解法。如果这些子问题还较大,难以解决,可以再把它们分成几个更小的子问题,以此类推,直至可以直接求出解为止。这就是分治策略的基本思想。解法步骤...原创 2020-04-22 13:59:40 · 819 阅读 · 0 评论 -
# 随记
linux 系统磁盘满了咋整# 查看文件占用空间cd /df -lh# 查找大文件du -h --max-depth=1# 杀死僵尸进程lsof | grep delete | awk -F ' ' '{ print $2}'|xargs kill -9原创 2019-06-26 15:01:35 · 274 阅读 · 0 评论 -
数据安全设计
引言:在 web 程序中,数据加密非常重要,对于不用解密的数据,如密码等,一般使用 md5 的加密技术,对于需要解密的数据,我们常用 AES 加密,现在我们来讨论下如何提高数据的安全性。一、对私钥用公钥加密,然后数据进行多次对称加密我觉得,数据的加首先双方约定一个公钥:ABCDEFGHIJKLMNOP签名:QWERTYHJKDLOFJSK数据加密次数:n加密随机密钥首先对公钥进行...原创 2019-05-15 20:19:08 · 3473 阅读 · 0 评论 -
浅谈垃圾回收
引言一直都想写一篇博客结合前辈的经验去阐述自己对垃圾回收的理解,但阿导本人经验尚欠,怕写的不好,所以拖了很久很久,文章中不足之处,还请多多包涵。垃圾回收的背景垃圾回收(Garbage collection),简称 GC,很多人都认为它是伴随 JAVA 的衍生物,其实不然,1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术,GC 比 JAVA (1995年诞生)要久远的多。垃圾回...原创 2019-03-13 08:59:09 · 1029 阅读 · 0 评论 -
反射优化之方法句柄
简介对于反射,相信从业 java 开发的人多多少少有些耳闻,在 jdk 1.7 为了间接调用方法引入了另一个新的 API ,即方法句柄。在方法句柄里面,有两个重要的类分别是 MethodType 和 MethodHandle,下面允许我做个名词解释。MethodType方法签名不可变对象,即对方法的一个映射,包含返回值和参数类型。在 lookup 时也是通过它来寻找的。每个方法句柄都有...原创 2019-02-25 11:29:41 · 566 阅读 · 0 评论 -
为什么说 java 是按值传递
值传递和引用传递我们这边所说的传递主要发生过程在调用方法的时候实际参数与形式参数之间的传递。定义值传递(pass by value):在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。引用传递(pass by reference):指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。...原创 2019-02-20 15:48:00 · 1041 阅读 · 2 评论 -
java 对图片进行压缩
图片压缩大法为了防止用户流量的丢失,即使在5g 即将来临的情况下,压缩算法依旧是很有必要的,额跑题了,不好意思,今天介绍的不是压缩算法,讲啥呢?主要讲讲如何通过 java 将图片进行压缩,尽可能的控制压缩损比,不仅仅是为了减少存储,其目的是快速呈现给用户,只有良好的体验,才会在当今这个急躁的年代减少流量的损失。开始 java 代码表演,直接给代码吧import com.su...原创 2018-09-14 17:32:44 · 33359 阅读 · 10 评论 -
如何全局捕捉 eureka 通过 Feign 远程调用出现的异常
万事皆有因 玩过 springcloud 的微服务架构的小伙伴们都知道,在我们通过 eureka 远程调用其他的微服务的时候,防止网络抖动或者程序异常等情况,往往会加上 hystrix 断路器对异常进行处理,但是往往在处理的时候一般都是记录一些日志高速开发者哪里出问题了,参数是什么,又或者其他的处理 然而,很多人使用 Feign 的时候 rollback 都是继承被调用的 Fe...原创 2018-08-09 18:47:34 · 4063 阅读 · 5 评论 -
使用 tk.mybatis/mapper-spring-boot-starter 出现获取不到实体类的异常
突现问题 我在重构一个项目的时候,准备使用 tk.mybatis/mapper-spring-boot-starter 2.0.3 版本,过去的项目使用的主版本是1,项目启动正常,调用接口流程里面使用了通用 mapper 的一些方法,在执行下面代码出现异常 Example example = new Example(User.class); 异常如下图,相信大家...原创 2018-08-08 11:07:11 · 21946 阅读 · 1 评论 -
让 canal 成为 spring boot 组件
canal 集成为 springboot 组件想法随着 spring boot 框架的逐渐流行,越来越多的 spring boot 组件随之诞生,今天阿导带大家一起来实现 canal 集成为 spring boot 的组件的详细过程。我们大佬需要我们做一个数据迁移和数据同步的业务,我就想着将其封装成 springboot 组件,这是写这个组件的初衷。也许还有小伙...原创 2018-05-30 11:04:32 · 12362 阅读 · 4 评论 -
一些误区,遍历次数越少并不一定最优
责任链问题误区:遍历次数越少,速度越快?也许大家觉着遍历的次数越少,速度越快,这是很多程序员的一个误区,程序运行的速度取决于空间复杂度和时间复杂度,若遍历过程中什么事都不干,那无疑遍历次数越少,速度越快,下面我来举一个例子处理集合里面的数据,数字必须为偶数,能被3整除,还必须包含4 抽象类过滤器祖宗,包含两种方式的过滤AbstractFilter....原创 2018-04-17 15:20:31 · 914 阅读 · 0 评论 -
JVM 调优 [感谢原博主]
JVM 调优堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: java ...转载 2018-04-12 17:51:56 · 374 阅读 · 1 评论 -
代理模式总结
代理模式的三种实现方式代理即替代+管理,也就是说在处理一个类的时候,我们可以控制访问(前置处理)和 善后操作(后置操作),换而言之,便是在原有的功能基础上处理一些其他想做的事情,比如纪录日志。下面分别使用三种方式对以下代码进行代理代理类和被代理类实现的接口 ProxyInterface.java package com.dao.proxy.common;...原创 2018-04-12 17:01:20 · 474 阅读 · 0 评论 -
类加载机制的奥妙
类加载机制的奥妙1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加...转载 2018-04-12 12:35:41 · 467 阅读 · 0 评论 -
线程,线程池一些知识点
线程实现线程的三种方式 继承 Thread 类创建线程步骤定义继承 Thread 的子类,并重写 run() 方法创建继承 Thread 的子类实例,即创建了线程对象调用 start() 方法启动线程示例代码继承 Thread 类->MyThread.java package com.dao.thead.core; ...原创 2018-04-11 16:26:51 · 659 阅读 · 1 评论 -
面向对象【OOP】的四大特征
抽象忽略一个主题中与当前目标无关的东西,专注的注意与当前目标有关的方面.(就是把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来的一般叫做类或者接口).抽象并不打算了解全部问题,而是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一个数据抽象,而是过程抽象.数据抽象 –>表示世界中一类事物的特征,就是对象的属性.比如鸟有翅膀,羽毛等(类的属性)过程抽象 –&...原创 2018-04-08 09:39:34 · 3281 阅读 · 0 评论