摘要:
1.通用对象PriceRequest public class PriceRequest { protected String regionId; protected int count; protected String pinAlias; protected ApplyType applyTyp 阅读全文
摘要:
1.Optional orElse orElseThrow ifPresent ofNullable() of() map() 2.优雅使用optional进行为null的if-else判断 Optional.ofNullable(rule).map(r -> { context.getProces 阅读全文
摘要:
解决maven依赖冲突问题 1.idea 安装maven helper插件 2.打开pom.xml文件 底部多出一个Dependency Analyzer选项 点开这个选项 找到冲突,点击右键,选择Exclude即可排除冲突版本的jar包 阅读全文
摘要:
设计模式,建造者模式 常见使用方法builder,build 去掉new 关键字使用 public class TestPod { private String ip; public interface Builder { Builder setIp(String ip); TestPod buil 阅读全文
摘要:
经济学是个体做选择 接下来,就是如何做选择 2个假设 (1)资源是永远稀缺的(不只只钱) 相对于个人的欲望,能拥有的东西是少的 人的欲望是一层一层产生的,无穷无尽的,欲望是好事,欲望推动了人类社会往前走 买房子,2室一厅,3室一厅 幻想别墅,联排,双拼 独栋别墅,豪宅 (精神追求阻碍物质的欲望,环保 阅读全文
摘要:
理论课1 :经济学世界观 1.经济学研究什么 做选择,个体做选择,团体做选择 人的选择 经济学家眼里,人就是不断的做选择做选择做选择 早上吃什么,开车安全带 是否好好工作 谁洗衣,做饭 谁坐公交,谁坐法拉利呢 组织的选择 政府,企业,大学,小团体都可以对外做出独立决策的团体 2.经济学和金融学的区别 阅读全文
摘要:
1.经济学的核心原理 1.1 第一章:经济学是什么 还没入门,还没会怎么用,会觉得纸上谈兵,没什么用,没意义。 学傻了,学入门了,走的太远,掉书袋,开始宣扬经济学万能论。 学精了,学会怎么去利用。高端的赚钱方法都是写在经济学里的。 微观经济学8字箴言: 洗脑需求控制供给 宏观经济学8字箴言: 经济危 阅读全文
摘要:
并发队列 多个线程有次序共享数据的重要组件 并发队列和并发集合的区别 并发集合是在多个线程中共享数据的 并发队列,遵循先入先出原则,排队检票的意思,用来解决大数据量采集处理和显示的 并发队列,阻塞还是非阻塞 Queue接口的BlockingQueue是阻塞度列,另一个无阻塞队列 阻塞队列和非阻塞度列 阅读全文
摘要:
1.异步转同步,线程池提交任务,阻塞获取结果 ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor) ThreadUtils.newDaemonFixedThreadExecutor("PodActionService" , Runt 阅读全文
摘要:
1.把依赖打进sigma-api的jar包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS 阅读全文
摘要:
优雅的sprongboot启动类 package fama.cost.server; import fama.cost.common.IStoppable; import fama.cost.common.thread.Stopper; import fama.cost.dao.utils.Bean 阅读全文
摘要:
1.application.properties zookeeper.address=@mvn.zookeeper.address@ zookeeper.namespace=@mvn.zookeeper.namespace@ 2.pom.xml中多profile环境不同变量定义 <propertie 阅读全文
摘要:
1.生成zk客户端对象 private CuratorFramework buildClient() { logger.info("zookeeper registry center init, server lists is: {}.", zookeeperConfig.getServerList 阅读全文
摘要:
获取当前进程的pid import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; public static final int getProcessID() { try { Ru 阅读全文
摘要:
1.@Service修饰类名,同时类继承Thread类 @Service public class MasterSchedulerService extends Thread { /** * logger of MasterSchedulerService */ private static fin 阅读全文
摘要:
1.添加钩子函数,钩子函数中指定要调用的方法 @PostConstruct public void run() { this.zkClient.start(this); this.schedulerService.start(); try { logger.info("start Quartz se 阅读全文
摘要:
1.关闭线程池的2个方法说明 shutdown方法:平滑的关闭ExecutorService,当此方法被调用时,ExecutorService停止接收新的任务并且等待已经提交的任务(包含提交正在执行和提交未执行)执行完成。当所有提交任务执行完毕,线程池即被关闭。 awaitTermination方法 阅读全文
摘要:
6个字段组成联合唯一索引 索引名称code_level_metric_type_week_year sql语句联合索引 CREATE UNIQUE INDEX code_level_metric_type_week_year ON dept_utilization (dept_code,dept_l 阅读全文
摘要:
double不是Double,无法通过 == null来判断 如何进行double的null判断呢 double avg = avg.getValue() // 此时不会报错 // 通过如下进行判断 if (Double.isNaN(avg)){ throw new RuntimeException 阅读全文
摘要:
发布到线上的包结构 runtime是发布到线上的目录结构 1.项目pom.xml添加打包配置 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-pl 阅读全文
摘要:
1.三级部门分应用统计PXX逻辑 { "query": { "bool": { "must": [ { "term": { "child3DepartmentId": "00065308" } }, { "terms": { "serverUseType": [ "1", "3" ] } }, { 阅读全文
摘要:
枚举类,解决重复代码块问题 public abstract class JoneEvent<T> { private EventType eventType; private String operator; private Date eventTime; private T data; publi 阅读全文
摘要:
快速设置 - 如果你以前做过这种事情 HTTPSSSH Get started by creating a new file. We recommend every repository include a README, LICENSE, and .gitignore. Git global se 阅读全文
摘要:
写锁和读锁成对出现,保证锁的是同一份资源 写锁正在写入的过程中,读锁获取不到,一直等待 写数据的时候,读实现不可读 适用于读多写少的场景 import sigma.resource.sync.model.DevopsData; import sigma.resource.sync.model.Jon 阅读全文
摘要:
1.ReentrantLock 给类文件加锁,实现类似synchronized(class)的功能 核心是类文件中,使用static修饰的reentrantLock对象 public class SourceCache { public static final Lock reentrantLock 阅读全文
摘要:
1.泛型方法声明 放在返回结果前,进行修饰,传参List infoList 进行参数的泛型支持 public <T> List<SigmaInstance> generateInstancesByDataInfoList(List<T> infoList, Map<Long, GroupInfo> 阅读全文
摘要:
批量执行异步任务CompletionService 核心思想,就是将异步结果放入到阻塞队列中,然后再消费队列,实现异步任务批量执行 接口方法说明 Future<V> submit(Callable<V> task); Future<V> submit(Runnable task, V result) 阅读全文
摘要:
多线程优化性能,串行操作并行化 串行操作 // 以下2个都是耗时操作 doBizA(); doBizB(); 修改变为并行化 new Thread(() -> doBizA()).start(); new Thread(() -> doBizB()).start(); 异步化,是并行方案的基础,利用 阅读全文
摘要:
Condition 一个Lock中应该绑定一个Condition对象。Condition是Java提供用来实现等待/通知的类。 我们知道Object对象提供了wait、waitAll、notify、notifyAll的方法用来实现线程的同步、等待和唤醒。 但Condition类提供了比wait/no 阅读全文
摘要:
列表分片,及并行执行样例 Set<String> ips = Stream.of("1","2","3","4","5","6","7","8","9","10") // 按照2个为一组,进行切片操作 List<List<String>> partition = Lists.partition(Li 阅读全文
摘要:
1.获取http头对象 // org.springframework.http.HttpHeaders private HttpHeaders getHttpHeaders() { HttpHeaders headers = new HttpHeaders(); headers.setAcceptC 阅读全文
摘要:
自己写日志的时候,肯定要写 private final Logger logger = LoggerFactory.getLogger(LoggerTest.class); 每次写新的类,就需要重新写logger 有简单的方式,就是使用@Slf4j注解 首先是在pom中引入: <!--可以引入日志 阅读全文
摘要:
估值三步骤 1.需要对公司做基本面的分析,其中对公司的财务报告一定要有深入的了解 2.做盈利预测,盈利预测一般不超过3年 3.使用估值模型对公司进行估值 东方财富的估值 使用市盈率,市净率这种相对估值指标还是用现金流折线这样的绝对估值法?答案:都不合适 第一步:公司基本面分析 2018年年报中,营业 阅读全文
摘要:
1.现金收入比 所有指标中最重要的一个 现金收入比 = 现金流量表中的销售商品.提供劳务收到的现金 / 利润表中的销售收入 建议选择长期保持在100%以上的企业 卖了50块钱的货,收到的货款也是50,这就是100%的现金收入比 茅台的现金收入比长期保持在104% + 顺丰控股的现金收入比长期保持在1 阅读全文
摘要:
1.guava缓存 新建一个缓存对象cache,当取不到key对应的值时,生成一个,并插入到cache中 LoadingCache<String,String> cache = CacheBuilder.newBuilder().expireAfterWrite(30,TimeUnit.MINUTE 阅读全文
摘要:
# 1.传统if -else 写法 ```java String nodeModelStr = ""; if (nodeType == NodeType.START){ StartModel startModel = JSON.parseObject(nodeModelStr,StartModel. 阅读全文
摘要:
1.投股票就是投公司 假设自己是公司的大股东,公司没上市,我们会因为“黑天鹅”直接把公司关闭或者卖掉吗?显然不会 作为经营者或者老板,唯一能做的就是死扛,扛过难关,然后重新经营公司 投股票投的就是公司,做的是公司的股东,坚持长期持有好公司,赚公司成长带来的收益 “慢”就是快 2.投股票就是做股东 把 阅读全文
摘要:
1.死锁问题 现实世界里,账户转账操作是支持并发的,而且绝对是真正的并行,银行所有的窗口都可以做转账操作。 只要我们能仿照现实世界做转账操作,串行的问题就解决了。 我们试想在古代,没有信息化,账户的存在形式真的就是一个账本,而且每个账户都有一个账本,这些账本都统一存放在文件架上。银行柜员在给我们做转 阅读全文
摘要:
1.受保护资源和锁之间合理的关联关系应该是 N:1 的关系 可以用一把锁保护多个资源 不能用多把锁保护一个资源 阅读全文
摘要:
1.Synchronized关键字使用 class X { // 修饰非静态方法 synchronized void foo() { // 临界区 } // 修饰静态方法 synchronized static void bar() { // 临界区 } // 修饰代码块 Object obj = 阅读全文