一个人的生活
条件一般,有自己的想法和见地,看过一些书,情商也不低,不会显得急不可待,语出惊人。看上去介于单调和闷之间,但内心怀有强烈的情感。一般不会显得浮躁,在熟人面前幽默感爆棚,在陌生人面前不会特意表现自己,但跟女生说话,就有种难以掩饰的微尬和不自然。
不会帅得在人群中引起骚动,也不会丑得让人扭头就走,看上去就不太像个有故事的人。可能穿得比较干净,但一定不潮,内心深处想摆脱肤浅,容易自省,距一定吐槽的俗low男不沾边,动不动容易觉得特别。
不擅长KTV、篮球,可能会喜欢跑步,看书,思想和逻辑类的事物,但优点都不具备那种直观可展示性,常常沦为大型聚会的配角。
内心戏很丰富,对所追求的爱情,脑海中有一幅自己的想象蓝图。没事不会主动找女生,对有感觉的女生,在微信聊天中对用到的表情包,标点,波浪线都有思考,并且使之尽量看起来装作随性自然,不敢喋喋不休地打扰,很怕被嫌弃,越界,导致很少产生亲密关系。
在精神和道德上容易自我感觉良好,常常要用尊严掩饰自卑,学不会不要脸,无法像舔狗一样存活,但生活也没给他一个机会来检验自己是不是舔狗。
对感情上有洁癖,对爱情本身的向往超过爱一个具体的人,内心多年保 ...
心事
最令人怵目惊心的一件事,是看着钟表上的秒针一下一下地移动,每移动一下就是表示我们的寿命已经缩短了一部分。再看看墙上挂着的可以一张张撕下的日历,每天撕下一张就是表示我们的寿命又缩短了一天。因为时间即生命。没有人不爱惜他的生命,但很少人珍视他的时间。如果想在有生之年做一点什么事,学一点什么学问,充实自己,帮助别人,使生命成为有意义,不虚此生,那么就不可浪费光阴。这道理人人都懂,可是很少人真能积极不懈地利用他的时间。
我自己就是浪费了很多时间的一个人。我不打麻将,我不经常地听戏看电影,几年中难得一次,我不长时间看电视,通常只看半个小时,我也不串门子闲聊天。有人问我:“那么你大部分时间都做了些什么呢?”我痛自反省,我发现,除了职务上的必须人情上所不能免的活动之外,我的时间大部分都浪费了。我应该集中精力,读我所未读过的书,我应该利用所有的时间,写我所要写的东西,但是我没能这样做。我的好多时间都糊里糊涂地混过去了,“少壮不努力,老大徒伤悲。”例如我翻译了莎士比亚,本来计划于课余之暇每年翻译两部,二十年即可完成,但是我用了三十年,主要原因是因为懒。翻译之所以完成,主要的是因为活得长久,十分惊险。翻译 ...
她的爱已经烧录进了电路板
“求求你不要扔掉我。”少女走在他的背后。
“我可以端茶倒水,为你暖身子,我可以在白天给你打扫房间,到夜里把自己折进床底下……只要每两周充一次电就好,电费我会去煎职赚钱交给你,让我做什么都行,除了……”
他停住,站在一处高崖旁。面前是一个巨大的深坑,胡乱堆砌着整个城市几十年来的拉圾。
“除了不要把我丢到拉圾场里……”她,这台已经过时了好几代的二手机器人跪在了地上,泪眼朦胧的说着。
“不是我想扔你。”他站在原地,望着远处的大垃圾场点了一根烟。
“呼——可是每个公民只能合法拥有一台机器人,别人看见我的机器人许可证上有你的型号,都在暗地里笑话我。”他挠挠头,这台从他小时候就伴随着他的机器人骑士早就成了青梅竹马一样的存在,只是型号实在太老旧,不得不报废掉换个新的。
“我,我会努力更新我的系统的……”她说到一半就把话咽了回去。她的生产商都已经破产了,不提二手买卖带来的问题,就是一般的售后服务也早就终止了。所以,当别的机器人可以随意更换外观,模拟他人人格,构造全息幻象的时候,她还是只能用老旧的芯片链接一般的网络,在老掉牙的网站上寻找几个能逗主人开心的笑话。
望着远处飞来飞去的垃圾车,他把烟掐掉,踩灭 ...
Android基础知识
为什么Android的UI操作是不安全的首先要知道什么是线程安全,什么是线程不安全线程安全:多个线程访问时,采用加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能直接进行访问直到线程读取完,其他线程才可以使用,不会出现数据不一致或数据污染线程不安全:就是不采用加锁机制,也就是不提供数据访问保护,可以多个线程同时进行访问,可能产生多个线程先后更改数据造成所得到的数据时脏数据在Android中,如果有多个线程都在同时更改UI,会造成界面混乱不堪。如果采用加锁机制会降低运行效率,所以Android选择的线程不安全但性能好这个方式。即Android出于对性能的考虑所以UI线程时不安全的。线程不安全带来的问题就是不安全,所以Android设计主线程MainThread为单线程模型。规定只能在主线程中更改UI元素,子线程想更改UI必须通知主线程。这就涉及到了线程间通信,也就出现了Handler消息机制来实现进程间的通信
Socket&Https通信
网络七层模型
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
Http与Socket区别http属于应用层的协议,无状态协议socket对应传输层
java关键字static理解
静态内部类和非静态内部类区别:是否持有外部类的状态,静态内部类持有外部类的实例
抽象类和接口
接口接口设计的目的,是对类行为的约束(更准确的说是一种“有”约束,因为接口不能规定类不可以有什么行为),也就是提供一种机制,可以强制不同的类有相同的行为。它只约束了行为的有无,但不对如何实现行为进行限制。
直观理解就是一种约定
不能有状态
必须由类进行实现后使用抽象类
抽象类的设计目的,是代码复用。当不同的类具有相同的行为(记为行为集合A),且其中一部分行为的实现方式一样时(A的非真子集,记为B),可以让这些类都派生于一个抽象类。在这个抽象类中实现了B,避免让所有的子类都实现B,这就达到了代码复用的目的。而A减B的部分,留给各个子类自己实现,正是因为A-B在这里没有实现,所以抽象类不允许实例化出来(否则当调用A-B时,无法执行)。
实现了一部分协议的半成品
可以有状态,可以有方法实现
必须由子类继承后使用共性
比较抽象,不能直接实例化
有需要子类(实现类)实现的方法
父类(接口)变量可以接收子类(实现类)的实例赋值区别
抽象类是对类本质的抽象,表达的是is a的关系,比如:BMW is a Car,抽象类包含并实现子类的通用特性,将子类存在差异化的特性进行抽象,交由子类去实现。 ...
关于AndroidStudio的Gradle配置问题
最近由于更新了AndroidStudio所以相应的Gradle要更新下载
关于Gradle下载推荐使用联通或电信网络,不要用移动网络
Gradle下载成功后便可以通过阿里云镜像源下载其他的jar包和相关插件
在本地.gradle文件夹下新建一个init.gradle的文件,内容为:
allprojects{repositories {def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'all { ArtifactRepository repo ->if(repo instanceof MavenArtifactRepository){def url = repo.url.toString()if (url.startsW ...
Mac下配置环境变量
配置过程
命令行输入:echo $PATH,查看已配置的环境变量
sudo vi ~/.bash_profile,进入环境变量配置文件
默认是只读状态,键入i进入编辑状态
编辑完成后,键入esc,然后键入:wq保存即可
配置完成后可能需要重启才能生效,若想立即生效,需键入source ~/.bash_profile即可
Mac环境变量的加载顺序
/etc/profile
/etc/paths
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
前两个是系统级别的,系统启动就会加载,后面三个是用户级别,按照从前往后的顺序读取,若bash_profile存在,后面的几个文件就会被忽略不读了,~/.bashrc没有上述规则,它是bash shell打开的时候载入的。也就是说在当前用户的目录下,如果又了.bash_profile文件就不会去加载.bashrc文件。所以如果要能正常加载.bashrc文件,需要在.bash_profile文件的最末尾上加入如下语句:
if [ -f ~/.bashrc ]; then source ~/.b ...