24-7-6
1 引子
今天开始写一点有质量的博客,比如攒几天发一篇。
最近最大的事迹就是期末考结束和推掉所有科研和竞赛。
抱着过了就好的心态,整个期末过程其实可以说是没什么压力的,虽然挂了一科。但是也导致一个经常恶意熬夜、爱打游戏、过度恶意水作业和过度恶意旷课的坏毛病。
不得不说,single的日子过的非常舒坦,得益于情绪起伏低,步步为营有更多的思考时间和空间,然后可以按照自己的节奏随意阅读、自研、娱乐、运动等。不过也有必要思考为什么处在人际关系情形下,人容易失去理智。
其他的事情,阅读毛选、我的奋斗等,上油管看看青年大学习,玩玩eu4、红警、pvz之类的;
今天一看炼丹云,欠费一百多,已经是崩了。不过没事后面不用了。然后感觉就是这个
2 规划
总体要完成的几个项目:
1.zhipinkkclub
2.timerme
3.bbs
4.留下想像空间的项目,可以是自研轮子或者自研游戏。暂不安排
建议划分为四个阶段,
七月上旬:短学期+恢复日常学习状态((看课如b站、淘宝、抖音等平台的)、力扣(3/day)、八股)+看书)
七月中旬:
回到家里,整理一下书房,先开始学CN,然后着手做BBS和TIMERME,注意可以有合理的任务分配。日常的学习状态保持,然后也保持阅读书籍。k8s。grpc。
七月下旬:
CN收尾、OS开始、日常、阅读、TIMERME收尾,zhipinkkclub完成。
八月上旬:
OS收尾、计组开始、日常(包括阅读)、bbs
八月中旬:
计组、日常、BBS+zhipinkk体系基本完善、认真收尾八股,开始投简历。
八月下旬:
短学期、日常 、八股、计组。
3 电子管->晶体管->与->或->加法器->ALU
在学习知识的时候,如果有不懂得地方,会呈现两种状态,一种是知道多看几遍可以搞懂的,一种是感觉比较难理解的,后者往往可能是缺了某块知识,这种时候跳过是最好的,回头再看就会很快,否则会浪费时间。
这个世界很神奇,为什么刚好有电这种东西存在呢?
与逻辑实现:
4 effective java:静态工厂方法替代构造方法
简单来说,对象的实例不用去new,而是自定义的创建对象函数,然后注意这玩意是静态的,静态的代表不需要对象实例就可以被调用。而构造函数将会被私有化。优点是意图明确,然后内存的控制更灵活。缺点在于难在API文档中标识出来构造应该通过静态工厂方法。
public class Vehicle { |
5 effective java:构造器替代多参数构造函数
如图展示一个构造器,也就是常说的builder。
首先明确概念抽象类:不能被实例化的类。
抽象方法:没有方法体的方法。
然后如果添加一些枚举可以让代码可读性更高:
6 effective java: Singleton的优化
Singleton:单例模式,即只有一个实例。
私有构造器:确保只实例化一次,但是一开始就全局实例化,可能出现没有用也有实例的情况
枚举单例:枚举机制可以防止被多次实例化。
7 EJ:私有构造器防止类被实例化
私有的构造函数并且抛异常,很好杜绝一个类似于枚举类型的类被实例化。
缺点是不能继承(子类化),因为没有构造函数,子类必须调用超类构造器。
8 了解依赖注入与JAVA8的Supplier接口
示例:不使用依赖注入
interface MessageService { |
示例:使用依赖注入
其他不变
class Application { |
对比分析
主要区别在于,一个是依赖接口,一个是依赖具体实现类。显然前者灵活性更好。
Supplier接口的定义
Supplier<T>
接口定义非常简单,它包含一个没有输入参数的方法 get()
,该方法返回一个泛型 T
类型的结果。这里的 T
是输出类型,由实现此接口的类来指定。
|
用途
Supplier
接口通常用于延迟生成或计算值,或者在需要生成一个新对象而不需要额外信息时使用。例如,它可以用于提供默认值或者构造复杂对象。
示例
下面是一个使用 Supplier
接口的简单示例:
import java.util.function.Supplier; |
使用 Supplier
接口来改造工厂模式是一个现代化和更具灵活性的方法。这种方式允许我们使用 Java 8 引入的函数式编程特性,让代码更加简洁和可扩展。下面我将示范如何使用 Supplier
接口来改造之前的数据库连接工厂。
能否展现一个资源工厂传递给构造器的设计方法?
在设计模式中,资源工厂的概念通常与依赖注入(DI)结合使用,特别是在构造器注入的情况下。这种模式不仅有助于降低组件之间的耦合,还提高了代码的灵活性和可测试性。
假设我们有一个应用程序需要连接到多种数据库(如MySQL、PostgreSQL等),我们可以创建一个数据库连接工厂,这个工厂根据配置或需求动态创建相应的数据库连接。
步骤 1: 定义数据库连接接口
首先,我们定义一个数据库连接的接口,这个接口规定了所有数据库连接必须实现的方法。
public interface DatabaseConnection { |
步骤 2: 实现具体的数据库连接类
接下来,我们实现几个具体的数据库连接类,每个类对应一种数据库。
public class MySQLConnection implements DatabaseConnection { |
在Java中,Supplier
是一个功能接口(functional interface),主要用于提供一个数据值,而不接受任何参数。它属于 java.util.function
包,这个包包含了多种功能接口,用于支持Java的Lambda表达式和函数式编程。
步骤 3: 使用 Supplier
改造工厂
这次我们使用 Supplier<DatabaseConnection>
来改造工厂方法,使其返回一个 Supplier
实例,而不是直接返回一个数据库连接对象。这种方式让我们能够延迟连接的创建直到真正需要时。
import java.util.Map; |
步骤 4: 使用构造器注入 Supplier
现在我们修改 DataManager
类,使其接收一个 Supplier<DatabaseConnection>
。这允许 DataManager
控制连接的实际创建时机。
public class DataManager { |
步骤 5: 在应用中使用
我们使用改造后的工厂来获取连接的 Supplier
并传递给 DataManager
。
public class Main { |
工厂类似于一种分发装置。
9
高手总是会把一个非常有讲究的事情描述的非常轻松,首先一点是他的精神状态确实比较轻松,其次他们懒得给对他们毫无利益的外人总结自己独门的解决方案。比如高绩点他会说期末学个两周,平时代签就可以。殊不知平时的精神状态、作息、预备知识等都是非常重要的因素,也不能保证他之前没有在其他地方学过。因此我们如果想要复刻高手的逻辑,就要复刻他们隐藏的一些点,而不是只见表面。比如说,可以平日里非常努力地做其他事情而不是摆烂,然后作息要正常,心态要好,同时可以超前学习某些科目,然后隔一段时间反复速成,也会得到很好的巩固。
10
有的时候会发现,有事情的时候感觉来不及学了,就想开摆,而开摆的时候又感觉没那么明显来不及学的感觉。不过这只是一种自我欺骗,面对焦虑,不应该去逃避,而是直接硬钢,让自己行动起来,而不是逃走。因为前者对自己长期收益更大,而后者“得一夕安寝,而秦兵又至矣”。
11
知识都是前人写好的,他们往往不是什么世界的真理,而是认为的规定,我们要做的就是学别人的规定罢了。
12
有时候发现自己没有那么强的欲望和目标感,这是因为对太多东西祛魅了,往往就丧失了向上的动力。适当赋魅其实是必要的,如果一些奖、成绩、论文我们看做是垃圾,但是一些重要的岗位、考到好的院校却可以当做我们宏伟的目标。没有志向的人终究会堕落。
祛魅这个东西再说,比如游戏为什么上瘾,因为游戏打得好,排名高,会让人觉得有面子,也会得到一些崇拜。但是大了之后,就发现没人崇拜了,也没人在意这个游戏,它的含金量失去了,只是自娱自乐,因此也就没意思了。现仅存的就是一些虚幻的征服感。人越趋向于理解事物的本质,就越会痛失幻想的能力。突然发现中学时期我所诟病的梦想家其实是一个伟大的能力,而我却逐渐遗失了它,包括遗失了对恋爱之流的幻想。情绪稳定也许是有好处,但是随之带来的是也没有特别令人兴奋的时刻。幻想不得不说是一项伟大的能力,还有那种不服输的野性也是。所谓的情绪稳定,往坏了说就是丧失了征服的野性,也失去了对梦想的渴望,未老先衰,不是好事。贪婪的人才能得到更多,这是人性的本质,但是隐藏是一门艺术。我要推翻一直以来“真实”的信念,因为我觉得真实才能轻松不容易露馅,但现在看来,去弄虚作假而瞒天过海,才是更高深的一门学问。当然,这里的弄虚作假我不希望是学术、技术等,而是人际关系方面。在前者方面上,我还是认为以“真”为本才好,毕竟杀人造了把假刀,也杀不死人。但是在人际上,却可以靠撒谎实现借刀杀人。这就是物理层面和精神层面的差距。
13
是什么人能够脱颖而出?明知道需要自律但是真正能自律的人。对一些事情真正热爱并且去做的人。前人归结作几个词:致良知、知行合一。
有的知识,一下子理解不了,不需要死磕,因为自己的储备还没有到那个level,只需要耐心地继续储备,回头顺其自然地就解决了。如果患得患失,或者对无生命事物动怒,无异于原始人。
让自己变成被迫学习的人,然后完成一些任务之后就可以获得一些奖励,这样会很欢乐。把自己当成一个小孩,然后用理性人建立奖励机制,这应该是一种不错的学习办法。
人就应该建立多重人格,不然又怎么去了解世界上那么多性格?每多一种人格就多一种对他人的了解。而不同的人格还可以帮助自己认识自我,找到一个适合于自己当下的人格,然后逐渐让他们相互借鉴融合。
14
感觉学习工作无聊的时候,就让自己发呆放空,而不是找事情消遣。放空会让自己变得更无聊,从而会觉得学习工作稍微会有趣一点。这是利用人性本来的规律。
15
我必考研,干嘛不考?考的好处:
1.考上了有光环title,更有自尊,更好找工作
2.有更好的平台资源和人脉
3.去大城市见识一下
4.有更多时间去学习,去修炼,去深造,有更多未知的可能,更能和先进技术接轨
5.好找对象,不仅是院校上的,还有title上的
不考的好处:
1.早点工作,提早步入成年人生活
2.大学期间腾出更多时间投入开发和自己的项目
玛德总的来说肯定长远看是考研好,对不。冲。
16
滞后性,不仅是审美、大众追求,还有价值观的对齐。
比如学历贬值,但是仍然有它很有用的刻板印象;
海归、好工作、好专业、发论文;
门槛一旦降低,那么价值就降低。
17
天才都不适合婚姻。
哲学和文学到底是不是一体两面呢?他们好像是交织在一起的。
我现在在从绩优主义向幸福注意、犬儒主义和荒诞主义转变。
人不应该对着自己的弱点期待被怜悯和安慰,而是去除这些弱点。
人类的进步靠的不是合群的人,而是逆天的人。
18
今天刷20道力扣。总结一些细节小点,作为备忘录
1.异或公式
2.StringBuilder
是一个final
类,因此不能通过继承匿名内部类来扩展它。