学习笔记

运用 CSS in JS 实现模块化

上图来源:https://2019.stateofcss.com/technologies/ CSS in JS 是2014年推出的一种设计模式,它的核心思想是把 CSS 直接写到各自组件中,而不是单独的样式文件里。 CSS in js 的发展: 最早就是内联样式 依旧使用 CSS,但使用 JS 来管理样式依赖,代表是 CSS Modules。 这种方式在React框架中引入的。 使用 JavaScript 生成 CSS 然后插入到页面中的方式。例如 Styled Components。 ...

为什么需要OLAP DSL?

 OLAP(On-Line Analytical Processing,联机分析处理)是大数据场景中,数据价值探索与挖掘的重要环节。这个领域内,开源社区呈现百花齐放的现象,Elasticsearch、Druid、Clickhouse、Pinot、Kylin、Presto等,各自在业界都有着广泛的应用场景。实际使用过程中,通常会经历以下三个阶段:...

【快应用篇01】快应用它来了!带你了解什么是快应用!

分享人:夏燕飞 近期因为需求与bug比较多,因此有些拖更了。非常抱歉,那么今天的干货开始了。。。 该篇为“快应用”第一篇。欢迎大家阅读! 自快应用问世,到现在也已经有一年多了。快应用和微信小程序类似。都是用户体验介于网页与原生APP之间的新型应用模式。微信小程序我想大家都用过,但是快应用却不一定。首先微信小程序问世要比快应用早一年,而且靠着微信的用户社交粘性和闭环,以及小程序支持安卓与ios端。使得小程序到目前为止,依旧发展得比快应用好。但未来不一定。 快应用可以说是9大手机厂商为了不使微信小程序抢占应用流量而出现的吧。 ...

会计的疑惑--BigDecimal的秘密

 为了提供公司的财务信息化,公司A上线了一套自主研发的财务系统,上班第一天,财务C姐就发现了情况不对:几项支出都对,但支出总和一直为0,赶紧向大老板报告。大老板勃然大怒,责令技术部门今天必须解决,小B负责了这个模块出现了问题,被技术总监大骂一通,泽明中午吃饭前必须解决,否则不用吃饭了,可以直接滚蛋了! 小B慌了,失业的话,下个月的房租就没有着落了,感觉拉出这段代码进行调试: 复制代码 public static void main(String[] args) { BigDecimal cost1=new BigDecimal("1024"); ...

浅谈Task的用法

Task是用来实现多线程的类,在以前当版本中已经有了Thread及ThreadPool,为什么还要提出Task类呢,这是因为直接操作Thread及ThreadPool,向线程中传递参数,获取线程的返回值及线程当启停都非常的麻烦,所以微软的工程师对Thread进行了再封装,这就是Task,可以这么说Task是架构在Thread之上的, 所以多线程时Task是我们的首选。 Task类和Task类,后者是前者的泛型版本。TResult类型为Task所调用方法的返回值。 主要区别在于Task构造函数接受的参数是Action委托,而Task接受的是Func委托 ...

哈弗曼树与哈夫曼编码

 更新、更全的《数据结构与算法》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11407287.html...

如何基于String实现同步锁?

  在某些时候,我们可能想基于字符串做一些事情,比如:针对同一用户的并发同步操作,使用锁字符串的方式实现比较合理。因为只有在相同字符串的情况下,并发操作才是不被允许的。而如果我们不分青红皂白直接全部加锁,那么整体性能就下降得厉害了。   因为string的多样性,看起来string锁是天然比分段锁之类的高级锁更有优势呢。 因为String 类型的变量赋值是这样的: String a = "hello world."; 所有往往会有个错误的映象,String对象就是不可变的。   额,关于这个问题的争论咱们就不细说了,总之, "a" != "a" 是有可能成立的。 ...

Asp.Net Core2.2 源码阅读系列——控制台日志源码解析

 为了让我们第一时间知道程序的运行状态,Asp.Net Core 添加了默认的日志输出服务。这看起来并没有什么问题,对于开发人员也相当友好,但如果不了解日志输出的细节,也有可能因为错误的日志级别配置导致性能问题,笔者的同事在一次进行性能测试的时候被输出日志误导,与其讨论分析了测试源码,排除业务代码因素,后来联想到应该是由于默认的日志输出导致(默认的日志级别 Microsoft 是 Inforamtion),随后将日志级别调高,性能立即飙升,问题解决。   虽然问题得到解决,但笔者脑中的对于到底为何日志输出会导致性能下降的疑问没有解决,一切查资料的方式,都不及先看源码来得直接,于是在github上拉取源码,经过详细的阅读分析,终于了解了技术细节,找到了高并发下,控制台日志输出导致性能低下的真正原因。 ...

浅谈JVM内存模型

一、JVM概述   JVM (JAVA 虚拟机),定义了一套编译,加载,解释执行JAVA代码的规范,   基于这套规范市场上不同产品实现,例如Hotspot,JRockit,J9等.   其简易内存体系结构如下:    二、堆的内存划分:      Java堆的内存划分如图所示,分别为年轻代、Old Memory(老年代)、Perm(永久代)。其中在Jdk1.8中,永久代被移除,使用MetaSpace代替。   1、新生代:     (1)使用复制清除算法(Copinng算法),原因是年轻代每次GC都要回收大部分对象。新生代里面分成一份较大的Eden空间和两份较小的Survivor空间。每次只使用Eden和其中一块Survivor空间,然后垃圾回收的时候,把存活对象放到未使用的Survivor(划分出from、to)空间中,清空Eden和刚才使用过的Survivor空间。 ...

使用CoordinatorLayout打造各种炫酷的效果

使用CoordinatorLayout打造各种炫酷的效果 自定义Behavior —— 仿知乎,FloatActionButton隐藏与展示 NestedScrolling 机制深入解析 一步步带你读懂 CoordinatorLayout 源码 自定义 Behavior -仿新浪微博发现页的实现 ViewPager,ScrollView 嵌套ViewPager滑动冲突解决 自定义 behavior - 完美仿 QQ 浏览器首页,美团商家详情页 CoordinatorLayout简介 ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程