全部 文章 问答 分享 共找到186个相关内容
[文章] 《30天自制操作系统》读书笔记1
《30天自制操作系统》读书笔记1开始读的部分一看这个书名我感觉就是扯淡的,和我买的10天搞定四级词汇一样没有作用,四级还是没有过,抱歉还是我的原因。
[文章] Netty权威指南读书笔记
LinuxIO模型阻塞I/O模型非阻塞I/O模型I/O复用模型信号驱动I/O模型异步I/O模型后面会有专门的文章讲五种模型的区别I/O多路复用技术I/O多路复用技术主要是为了同时处理多个客户端请求,I/O多路复用技术通过把多个I/O的阻塞复用到同一个select的阻塞中,从而使得系统在单线程的情况下可以同时处理多个客户端请求以传统的多线程/多进程模型比,I/O多路复用的最大优势是系统开销小,系统不需要创建新的额外进程或线程,降低了系统的维护工作量,节省了系统资源主要应用场景:同时处理多个套接字同时处理多种网络协议的套接字目前支持I/O多路复用的系统调用:selectpselectpollepoll注意:之前大多使用select进行轮询和网络事件通知,但是现在新的Linux内核使用epoll代替selectJavaNIO主要类和接口异步I/O操作的缓冲区ByteBuffer异步I/O操作的管道PipeI/O操作(异步或同步)的Channel,包括ServerSocketChannel和SocketChannel多种字符集的编码和解码能力非阻塞I/O操作的多路复用器selectorPerl实现的正则表达式类库文件通道FileChannel批量获取文件属性API提供AIO功能支持基于文件的异步I/O操作和针对网络套接字的异步操作传统的BIO编程缺点每当有一个新的客户端请求接入时,服务端必须创建一个新的线程处理新接入的客户端,而一个线程只能处理一个客户端连接改进通过线程池或者消息队列实现1个或者多个线程处理N个客户端的模型(底层通信机制依然使用同步阻塞I/O,所以被称为"伪异步")改进后的缺点Netty简介NIO服务开发难点处理各种网络问题处理客户端的重复接入问题处理客户端的安全认证问题处理消息的编解码问题处理半包读写问题NIO采用异步非阻塞编程模型,一个I/O线程处理多条链路,调试跟踪麻烦Netty优点API使用简单,开发门槛低功能强大,支持各种编解码和主流协议定制能力强,可以通过ChannelHandler对通信框架进行灵活的扩展性能高修复了NIO的BUGNetty开发环境搭建挖坑:后面跟TCP粘包/拆包问题TCP编程中,无论是服务端还是客户端,当我们读取或者发送消息的是否,需要考虑TCP底层粘包/拆包机制产生原因程序中write写入的字节大小大于套接口发送缓冲区大小进行MSS大小的TCP分段以太网帧的payload大于MTU进行的IP分片解决策略底层TCP无法理解上层业务数据,所以底层无法保证数据包不被拆分和重组,所以这个问题只能通过上层的应用协议栈设计解决业界主流协议解决方案消息定长(每个报文固定长度,如果不够,空位补空格)在包尾增加回车换行符进行分割将消息分为消息头和消息体,消息头包含消息总长度更复杂的应用层协议Netty解码器Java序列化Java提供的对象输入/输出流ObjectInputStream/ObjectOutputStream可以直接将Java对象作为可存储的字节数组写入文件,也可以传输到网络中Java序列化的主要目的网络传输对象持久化Java对象编解码技术当进行远程跨进程服务调用时,需要把传输的Java对象编码为字节数组或者ByteBuffer对象,而当远程服务读取到ByteBuffer对象或者字节数组时,需要将其解码为发送时的Java对象Java序列化的缺点无法跨语言序列化后的码流太大序列化性能太低主流的编解码框架GoogleProtobuf结构化数据存储(xml,json)高效的编解码性能语言无关扩展性好MessagePack编解码编解码高效,性能高序列化之后的码流小评价一个编解码框架的优劣:是否支持跨语言编码后的码流大小编解码的性能API友好程度使用者开发难度和维护难度推荐资料UNIX系统网络编程知识<UNIX网络编程>Javabug问题http://bugs.java.com/bugdatabase疑问(代做)半包消息JDK默认的序列化机制了解一下OpenSSLHeartbleed漏洞长连接通信心跳检测防火墙
2020-10-05 11:36 · Netty / 高性能 / 服务器 / 读书笔记
[文章] 《生命是什么》读书笔记
1.读这个书的原有1.最近对一些虚无的问题比较感兴趣,所以在看豆瓣的时候的看到豆瓣上有《豆瓣热门生物科普图书TOP10》图书介绍,看到第二本就是《生命是什么》,作者是我很是感兴趣的。因为薛定谔,在我的映像中这个老兄一直和一个猫在一起。所谓薛定谔的猫就是量子力学的一个思维实验。这个老兄也是量子力学的奠基人之一。看下面的老兄图片。虽然现在对量子力学不是很懂。但是怀着对万事万物的有那么的点的好奇心。我准备读一些这方面科普读物。那就从这开始吧。:::hljs-center:::2.哦忘记了,这个老兄也是诺贝尔奖获得者。所以从图书馆找到这本书来看。这个封面的。果麦出版的。京东可以在线试读。可以移步去看看。连接就不发了。有做广告嫌疑了。:::hljs-center:::2.这个书的大纲:::hljs-center:::3.这个书启发和意义?1.增加自己的自信心。我感觉自信心这东西需要自我鼓励的自我增强的。下面一段话:染色体纤维最显著的特征是:第一,这些齿轮在多细胞生物中分布非常奇特,我之前用非常诗意的方式描绘这一特征。第二,任何一个齿轮都不是粗制滥造的人工制品,而是按照上帝的量子力学路线精心打造出来的杰作。精心打造出来的杰作啊,朋友们,不是很应该自信起来吗?2.在我们传统的教育中不容易质疑权威。我们上学时候的教育是为了应付考试和升学。所以很多问题有标准的答案。普通的老师又是标准答案持有者,林林总总呢?我们不容易去质疑权威,权威的解释,但是自然科学没有权威。没有万古不变的真理。看下面这段话:第一章我们解释了经典物理学定律其实是统计学意义上的定律。非物理学家将普遍物理定律视为精确的、不容践踏的模范,....3.生命是什么生命到底是什么呢?我自己也看得云里雾里的。或者说没有看懂。这有什么关系呢?无聊知识不是又又又增加一点了。
[文章] 《Kotlin核心编程》读书笔记
第三章面向对象更简洁地构造类的对象在Java中,通过重载构造函数,来实现任意参数组合来创建对象,但是这样需要实现的构造方法就会很多。koltin的解决方法:-构造函数默认参数;(如果这样做,在创建对象的时候,最好指定参数的名称)。classBird(valweight:Double=0.00,valage:Int=0,valcolor:String="blue")valbird1=Bird(color="black")valbird1=Bird(1000.0,"blue",1)valbird2=Bird(color="red",age=5)init语句块:它属于上述构造方法的一部分,两者在表现的形式上是分离的。如果需要在构造初始化时进行其他的额外操作就可以使用init语句块。构造方法还可以拥有多个init,它们会在对象被创建时,按照类中从上到下的顺序先后执行。延迟初始化bylazy:语法特点:该变量必须是引用不可变的(即使用val声明);在被首次调用时,才会进行赋值操作。一旦赋值,后续它将不能被更改。lazy的背后是接受一个lambda并返回一个Lazy实例的函数,第一次访问该属性时,会执行lazy对应的Lambda表达式并记录结果。后续访问时就返回该记录。系统会给lazy属性默认加上同步锁,也就是LazyThreadSafetyMode.SYNCHRONIZED,它在同一时刻只允许一个线程对lazy属性进行初始化,因此它是线程安全的。valsexbylazy(LazyThreadSafetyMode.PUBLICATION){//并行模式if(color=="yellow")"male"else"female"}valsexbylazy(LazyThreadSafetyMode.NONE){//不做任何线程保证也不会有任何线程开销if(color=="yellow")"male"else"female"}lateinit:主要用于var声明的变量,然而他不能用于基本数据类型,如Int,Long等,需要使用Integer这种包装类进行替代。主从构造方法:通过constructor方法定义了一个新的构造方法,它被称为从构造方法。如果主构造方法存在注解或可见性修饰符,也必须像从构造方法一样加上constructor关键字。每一个从构造方法有两部分组成,一部分是对其他构造方法的委托,另一部分是由花括号包裹的代码块。执行顺序上会先执行委托的方法,然后执行自身代码块的逻辑。通过this关键字来调用要委托的构造方法。如果一个类存在主构造方法,那么每一个从构造方法都要直接或间接地委托给它。不同的访问控制原则Kotlin中使用冒号":"来进行类的继承和接口的实现。Kotlin中的类和方法默认是不可继承或重写的,有需要的话要加上open修饰符。子类应该尽量避免重写父类的非抽象方法,一旦父类变更方法,子类就方法调用就可能会出错。重写父类的非抽象方法违背了面向对象设计原则中的里氏代换原则。什么是里氏替换原则?通俗的理解:子类可以扩展父类的功能,但是不能改变父类原有功能。包含了4个设计原则:-子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法;-子类可以增加实现自己特有的方法;-当子类的方法实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。-当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。可见性修饰符Kotlin与Java的默认修饰符不同,Kotlin是public,而Java中是default。Kotlin中有一个独特的修饰符internal。Koltin可以在一个文件内单独声明方法及常量,同样支持可见性修饰符。Java中出了内部类可以用private修饰以外,其他类都不允许private修饰,而Kotlin可以。Koltin和Java中的protected的访问范围不同,Java中是包、类、及子类可访问,而Kotlin只允许类及子类。internal在Kotlin中的作用域可以被称为模块内访问。什么算是一个模块呢?一个Eclipse项目,一个IntellijIDEA项目、一个Maven项目,一个Gradle项目,一组由一次Ant任务执行编译的代码Kotlin中的private修饰的类,表示它的作用域就是当前这个Kotlin文件。在Koltin实现一个接口时:-需要实现接口中没有默认实现的方法及未初始化的属性,若同时实现多个接口,而接口间又有相同方法名的默认实现时,需要主动指定使用那个接口方法或重写方法;-如果是默认的接口方法,需要在实现类中通过"super"这种方法调用它,-在实现接口的属性和方法时,都必须带上override关键字,不能省略。Koltin在我们声明一个属性的时候,会帮助生成getter和setter方法。-用val声明的属性将只有getter方法,因为它不可修改,而用var修饰的属性将同时拥有getter和setter方法。-用private修饰的属性,编译器将会省略getter和setter方法,没有必要饿了,因为类外部无法访问。如果我们要在Koltin中使用内部类,需要在类的前面加一个inner关键字。因为Koltin直接写在类中的类为嵌套类。这里的嵌套类可以看成Java中的静态内部类。在某些场合下,内部类确实是一种解决多继承非常好的思路。openclassHorse{funrunFast(){println("Icanrunfast")}}openclassDonkey{fundoLongTimeThing(){println("Icandothinglongtime")}}classMule{funrunFast(){HorseC().runFast()}fundoLongTimeThing(){DonkeyC().doLongTimeThing()}privateinnerclassHorseC:Horse()privateinnerclassDonkeyC:Donkey()}使用委托代替多继承委托是一种特殊的类型,用于方法事件委托,调用A类的methodA方法,其实背后是B类的methodA去执行。在Koltin中,只需通过by关键字就可以实现委托的效果。interfaceCanFly{funfly()}interfaceCanEat{funeat()}openclassFlyer:CanFly{overridefunfly(){println("Icanfly")}}openclassAnimal:CanEat{overridefuneat(){println("Icaneat")}}classBird(flyer:Flyer,animal:Animal):CanFlybyflyer,CanEatbyanimal{}funmain(){valflyer=Flyer()valanimal=Animal()valbird1=Bird(flyer,animal)bird1.eat()bird1.fly()}用dataclass创建数据类。
1970-01-01 00:00 · Kotlin
[文章] 《资治通鉴》开篇故事-三家分晋
《资治通鉴》开篇故事-三家分晋开了一个新的分类,程序员读书。大家可以把自己的读后感,笔记之类的分享给大家。最近我看了《资质通鉴》,作为一个程序员,去看历史书,哈哈!这太少见了吧!
2019-09-27 19:18 · 读书 / 程序员 / 历史 / 资治通鉴 / 三家分晋
[问答] 有关记笔记的问题

编程也算学了一些,今天静下心来想想,发现自己记笔记的习惯好像很差:“跟着视频学习的时候,总是把所有的知识点,基本完完全全都记了下来,甚至是官方文档中有的内容,或者视频作者的笔记,自己也会再敲一遍”

2023-03-31 20:31 · 笔记 / 学习
[问答] Jetpack我们从MVVM开始37的课程笔记,我在阳光沙滩-课程笔记怎么找不到啊

Jetpack我们从MVVM开始37的课程笔记,我在阳光沙滩-课程笔记怎么找不到啊,

2022-05-30 09:10 · 安卓

[问答] 课程笔记

为啥每个课程点进去 都没有笔记呢 只有章节

2021-09-02 22:35 · 安卓 / 自定义控件
[问答] 有Android课堂笔记

有Android课堂笔记

2022-06-14 09:12 · 寻找笔记 / Android
[问答] 求视频中的后端笔记
求后端课程视频中使用md写的笔记
2020-09-07 14:25 · 后台
[文章] 【领券联盟】笔记:视频108~113-实现扫码功能【完结】
课堂笔记实现灰色UI在BaseActivity创建时把最外层View饱和度设置为0//黑白风格ColorMatrixcm=newColorMatrix();cm.setSaturation(0);Paintpaint
2020-04-11 00:26 · 读书笔记
[文章] 学习笔记-POI与EasyExcel
格式规范newXSSFWorkbook()以.xlsx结尾FileOutputStreamfileOutputStream=newFileOutputStream("F:\\Desktop\\笔记
2021-08-26 13:35 · POI / EasyExcel / 数据导出 / 数据导入
[问答] SOB首页导航栏的笔记模块咋没了?

SOB首页导航栏的笔记模块咋没了?

2022-07-22 17:13 · SOB导航 / 笔记
[问答] 在论坛里找不到视频中提到的文章和课堂笔记
在B站看到视频,笔记做的都非常好,但是光看视频效率比较低。视频中提到论坛中有笔记和文章,但为什么找不到...https://bbs.sunofbeaches.com/网站也上不去
2019-10-30 00:20 · 安卓
[文章] 来自深夜有感而发。希望大家引以为戒
..这是我的电脑桌前,左边是我总结的面试题目,右边是我上课记的笔记。目前我在用费曼学习法浓缩我的知识点。唉,平时不肯下功夫在学技术上,就有无数个面试前的夜晚通宵达旦。
2021-03-27 01:28 · 思考
[文章] Android学习笔记——记住密码的功能实现(一)
今天跟大家分享一篇安卓的学习笔记,就是登录时,记住密码的功能实现。想必大家应该都知道记住密码功能吧。比如QQ,微信,这些常用软件。即第一次登录后就不需要再重复输入账号密码进行登录操作。
2020-04-12 22:32 · Android
[文章] 使用Gitee搭建免费图床配合typora写笔记也太爽了
使用Gitee搭建免费图床配合typora写笔记也太爽了正如拉大锯大佬所说typora,程序员的markdown编写工具,这是我用过最好用的了!
2021-01-11 15:34 · typora / 免费图床 / 笔记工具
[文章] SQL语句for Android Sqlite(视频+笔记+图解)
话不多话,具体看视频吧,笔记也不贴出來了,在网盘里直接下载。思维导入如下:其他的,内容就去下载吧。后话:一定要自己动手做,否则真的学不到的。我知道你一定能听懂,一定能理解是怎么回事。
2019-10-21 14:02 · sql / mysql / 数据库
[文章] Android学习笔记——记住密码的功能实现(二)
工具类里面需要一个静态的存放数据的方法,一个获取数据的Map集合方法3.在登录界面的登录按钮点击事件中通过工具类调用存放方法获取并存放数据,在onCreate方法中通过工具类调用获取数据的方法,将数据展示在文本框OK,那么笔记就分享到这里
2020-04-13 09:42 · Android
[文章] Windows和Mac等上使用VNote做笔记
Developersettings生成的令牌自己记好,直接粘到Vnote的个人访问令牌就会自动保存下来3.1.2Vnote上的操作建好自己的仓库填上(public),存储路径不要写,点击确认就行接下来随便找到一个笔记
2020-08-12 00:42 · 图床 / 笔记
[文章] 【领券联盟】笔记:视频17-修改TabLayout样式
课堂笔记调整TabLayout和ViewPager的属性<com.google.android.material.tabs.TabLayoutandroid:id="@+id/home_indicator
2020-03-27 02:55 · 学习笔记
[文章] 【领券联盟】笔记:视频20-处理网络错误重新加载动作
BaseFragment的其他子类在重写initView()方法时设置显示成功状态的View@OverrideprotectedvoidinitView(){setUpState(State.SUCCESS);}课堂笔记完善
2020-03-28 03:05 · 课堂笔记
[文章] 【领券联盟】笔记:视频21-把分类数据给到对应页面
课堂笔记ViewPager中的各个HomePagerFragment需要根据id加载显示相应内容,所以我们在新建HomePagerFragment时,需要把Categories.DataBean传入(title
2020-03-29 01:25 · 课堂笔记
[文章] 【领券联盟】笔记:视频19-解决搜索栏非成功情况下不显示
课堂笔记首先创建带顶部Bar和“新坑”的布局base_home_fragment_layoutBaseFragment创建加载rootView的方法protectedViewloadRootView(LayoutInflaterinflater
2020-03-28 02:13 · 课堂笔记
[文章] 笔记二、sqlite数据库
1.创建sqliteOpenHelper类创建表sqlite数据库很简单,拉大锯老师有很详细的视频教程,可以去搜索,一学就会,这里只做简单的笔记
2020-04-25 17:36 · sqlite数据库
[文章] 会紧张?或许因为效率!
看过我多维竞争的读者就知道,当某个事情时间段之后我走下坡路,我更倾向于换另外一个任务开启,但总归是把耗精力的放在最充沛的时候,早上我会读一读英语新闻与读读书,中午之后就是写算法题学习专业知识刷面试题,晚上就看看
2021-02-03 01:22 · 思考 / 近况
[问答] fragment遮盖的问题
我在书香建行这里加了一个读书fragment,和听书fragment相互切换,但是在看书界面点击左边按钮的时候会没反应,只有切换到听书才可以,这个要怎么加判断呢?
2020-07-13 14:31 · Android / fragment
[文章] 【android学习笔记二】mySQL学习笔记
mySQL学习笔记基础篇启动服务以管理员运行CMD(普通运行会报错)输入命令:netstartmysql登录mysql密码显式登录:mysql-hlocalhost-uroot-ppassword密码隐式登录
2020-02-13 16:12 · 学习笔记 / android / mysql
[文章] 【领券联盟】笔记:视频26-重构分类详情接口
课堂笔记把categoryId是否是当前页面Id放在逻辑层判断首先在ICategoryPagerCallback定义获取categoryId的方法//获取分类IdintgetCategoryId();HomePagerFragment
2020-03-29 19:45 · 课堂笔记
[文章] 【领券联盟】笔记:精选页面和特惠页面
下面的笔记是我写第二遍时觉得比较重要的地方,还有遇到的一些问题笔记精选页面显示默认数据当我们第一次切换到精选页面时,精选页面的第一个分类背景应该是选中的状态,并在点击其他分类时切换背景@OverridepublicvoidonBindViewHolder
2020-04-06 22:08 · 课堂笔记
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7