自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 商品和活动的二维组合全排列

商品和活动的二维组合全排列 场景:有m个商品,每个商品有0-n个活动(立减或优惠券),每个商品只能使用一种活动,A商品的A1活动可能和B商品的B2活动存在冲突。求出优惠金额最大的组合? 思路:先求出所有组合的全排列,再根据规则过滤有冲突的组合,对剩余组合对优惠金额排序,求出目标值。 重点:求出所有组合全排列的算法。 为了简化算法,假定每种商品都有n个活动(不足补空值),则所有组合数为 m^n,再获取每种组合的具体组合信息即可。 为了说明思路,用整型二维数组演示(实际应用可将m个商品的所有活动转为二维数组):

2020-05-28 13:43:38 277

原创 面试集合

已经看过,还需要温习的: spring+mybatis配置读写分离 两种方式 SpringBoot + MyBatis + MySQL 读写分离实战

2020-03-27 21:44:26 170

原创 分布式锁

package lock; /** * Created with IDEA * author:liuhaotian * Date:2019/9/14 15:51 * Description: 分布式锁 */ public class DistributedLock { /** * 基于redis实现分布式锁 * 基于 REDIS 的 SETNX()、GET(...

2020-03-11 23:17:37 112

原创 Java高阶学习

一、JVM 1.方法区 作用:存放加载的类信息,常量,静态变量,JIT编译后的代码数据。 GC:会OOM,存在垃圾回收,但回收效率低,主要针对常量池的回收和类型的卸载。 2.堆 作用:存放对象实例,几乎所有的对象,数组。 GC:最容易OOM。-Xms -Xmx 引用计数法:存在两个对象相互引用的问题。 可达性分析算法:(主流)GC Root可以是:虚拟机栈,方法中静态属性引用的对象,方法区中常量......

2020-03-09 20:21:56 677

原创 缓存相关

一.缓存常见问题: 1.缓存雪崩:指多台服务器设置缓存时采用了相同的过期时间,导致缓存在某一时间全部失效,请求全部转发到DB。 解决方法:设置缓存时间为 基数+随机数 2.缓存穿透:指查询一个不存在的key,因为容错机制(先查缓存,没有再查DB)可能导致不存在的key频繁请求DB。 解决方法:拦截空缓存请求 3.热key可以在应用端处理。 ...

2019-11-19 19:31:41 61

原创 Mysql常见问题总结

MySQL常见的七种锁详细介绍 :https://blog.csdn.net/Saintyyu/article/details/91269087

2019-11-19 19:00:31 95

原创 JVM调优

1.jvm堆栈初始化参数 -Xss 每个线程堆栈的大小。一般情况下256K是足够了。影响此进程中并发线程数大小。 -Xms初始的Heap的大小。 -Xmx最大Heap的大小。 在很多情况下,-Xms和-Xmx设置成一样的。这么设置,是因为当Heap不够用时,会发生内存抖动,影响程序运行稳定性。 ...

2019-11-12 15:29:20 97 1

原创 Java系统(非tomcat部署)启动/终止脚本

1.启动脚本 #!/bin/sh export JAVA_HOME=/export/servers/jdk1.8.0_60 export JAVA_BIN=/export/servers/jdk1.8.0_60/bin BIN_DIR=`dirname $0`/.. BIN_DIR=`(cd "$BASEDIR"; pwd)` BASE_DIR=`(cd ../; pwd)` CONF_DIR...

2019-11-12 15:21:40 209

原创 设计模式-工厂模式/抽象工厂模式

工厂模式的应用场景和实现代码 适用场景:用来向使用者屏蔽创建对象的细节 如果不用工厂模式,就要亲自关注如何创建对象,造成创建对象的代码和使用对象的代码耦合度很高,不易后续修改和测试。 实现代码: 一个业务父类,N个业务子类 一个工厂接口 N个工厂接口实现类-具体的工厂 通过具体的工厂创建业务子类实例 class Book { public Book(){ } } ...

2019-10-22 18:24:48 93

原创 设计模式-单例模式

单例模式的应用场景和实现代码 在创建对象时,通过单例模式可以保证只有一个实例存在 。 例如项目中有多处 都从同一个配置文件中读取发送邮件的列表,那么我们就可以用单例模式来创建这个读配 置文件的类 。 MailListReader 双重检查的线程安全类 一个静态的成员变量 一个私有的构造函数 一个共有的静态函数 public class MailListReader { private st...

2019-10-22 17:59:16 70

原创 设计模式-总结(设计模式的思想来自日常生活)

1. 设计模式的分类: 根据适用方式分为三大类:创建型,结构型,行为型。 创建型:单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式。 结构型:适配器模式 、装饰器模式、代理模式、外观模式、桥接模式、组合模 式和享元模式 。 行为型:策略模式、模板万法模式、观察者模式、迭代器模式、责 任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式和解释器模式。 2.学习路线 1.设计模式的特...

2019-10-22 17:47:46 117

原创 JQuery使用总结

jquery.fileupload.js上传文件,并添加进度条

2019-10-22 15:12:56 72

原创 软件疑难杂症的解决药方

1.IDEA Tomcat Server日志中文乱码 https://blog.csdn.net/DJH2717/article/details/88876430 修改 Tomact 的 conf 目录下的 logging.properties 中的所有 UTF-8 改成 GBK: 如: java.util.logging.ConsoleHandler.encoding = utf-8 改为: ...

2019-10-21 15:38:07 160

原创 设计模式-代理模式-动态代理

Service接口 package spring.aop.DynamicProxy; /** * Created with IDEA * author:liuhaotian * Date:2019/9/1 23:03 * Description: */ public interface Service { String sellCar(String carName); } ...

2019-09-02 23:13:32 61

原创 HTTP TCP学习三 HTTP POST GET调用Util

常用POST,GET请求 maven: <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version...

2019-08-29 12:00:52 92

原创 关于Java中异常处理

1.抛出异常有三种形式 一是throw,一个throws,还有一种系统自动抛异常。 ①系统自动抛异常:当程序语句出现一些逻辑错误、主义错误或类型转换错误时,系统会自动抛出异常。例如:除数为0时 ②throw:一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常。例如: public static void main(String[] args) { S...

2018-03-19 13:00:59 120

空空如也

空空如也

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

TA关注的人

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