总述 Android中"列表"的实现其实一个典型的MVC模式,其实中AdapterView相当于是View,负责视图的绘制以及视图的事件响应,Adapter相当于是Controller,负责控制数据的显示内容和展现方式,另外项目中的实体类则是代表了Model. Adapter Adapter其实是个接口,并不是一个具体的类.它的主要最用就是作为一个AdapterView和Model间的桥梁,这一点在源码中有很清楚的定义: /** * An Adapter object acts as…
先看源码: 首先看构造器,构造器有三种,一种直接给定初始长度的,如下代码 public ArrayList(int initialCapacity) { if (initialCapacity > 0) { //判断长度是否大于0 如果大于0 则直接将长度给他 this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { //如果等于0,定义一个空数组实例 this.elementData =…
昨天有个大牛说我啰嗦,眼光比较细碎,看不到重点.太他爷爷的有道理了!要说看人品,还是女孩子强一些.原来记得看到一个男孩子的抱怨,说怎么两人刚刚开始在一起,女孩子在心里就已经和他过完了一辈子.哥哥们,不想这么远行吗?看看何洁,看看带着俩娃跳楼的妈妈.所以现在的女孩子是很明白的,有些男孩子个子不高,其貌不扬,但是一看那人品气质就知道能找个不错的女盆友.不过要说看人的技术能力,男孩子确实更胜一筹,咱得努力了. 总结一下要形成的习惯: 1>有空时隔一段时间要做几道算法题,C语言和JAVA都可以,主要是训…
废话 这几天有想看源码的想法,于是就开始了源码的研究,经过几天的摸索发现看源码还是有点技巧在里面的,想着把这些东东写下来作为一个小总结. 在一个多月前我对Vue源码进行了一次研究,那时看源码的方式基本上是从上往下看,结果看着看着就看不下去了,后来找了一个很老的版本看,但看的还是不太懂,于是想着干脆看一些工具类得了,因为工具类一般比较单一不会和上下文有太多的联系,有点基本都能看懂. 不管是什么源码其研究方式基本上都是大同小异的,标题写jQuery是因为这几天正好在研究jQuery源码,这里就拿jQ…
idea看源码,可以直接搜索.看接口具体调用的是哪个类里面的方法(多态)…
Eclipse项目里面看源码 1.新建项目列表 2.进入struts2-core-2.3.20.jar,双击之后,看不到源码 3.右键struts2-core-2.3.20.jar,选择properties,在里面设置源码路径. 我的路径为:  E:\struts-2.3.20\src\core\src\main\java 4.之后查看,源码出来了. 5.注意事项: 如果在struts-2.3.20-all.zip解压的包里看不到,可以去官网自己从新下载一个源码包,选择这个struts-2.3.…
1:感觉见鬼了一般存储JSONObject中的字段竟然不见了? JSONObject object=new JSONObject(); Map fields = new HashMap(); fields.put("1","1"); object.put("fields",fields); System.out.println(object.toString()); JSONObject newFields = object.getJSONObj…
今天我们来说一说rest framework 中的 版本 操作的详解 首先我们先回顾一下 rest framework的流程: 请求进来走view ,然后view调用视图的dispath函数 为了演示方便我们先来启一个项目: 在settings 中 INSTALLED_APPS 添加 rest_framework , 在view.py 中创建一个视图类 假使来个课程类吧: from rest_framework.views import APIView from rest_framework.r…
昨天有个大牛说我啰嗦,眼光比较细碎,看不到重点.太他爷爷的有道理了!要说看人品,还是女孩子强一些. 原来记得看到一个男孩子的抱怨,说怎么两人刚刚开始在一起,女孩子在心里就已经和他过完了一辈子.哥哥们,不想这么远行吗?看看何洁,看看带着俩娃跳楼的妈妈. 所以现在的女孩子是很明白的,有些男孩子个子不高,其貌不扬,但是一看那人品气质就知道能找个不错的女盆友.不过要说看人的技术能力,男孩子确实更胜一筹,咱得努力了. 总结一下要形成的习惯: 有空时隔一段时间要做几道算法题,C语言和JAVA都可以,主要是训…
[学霸]深圳-鑫 2017/7/11 13:54:07只是学习怎么用QT的话,不用看源码.看帮助文档就很好要学习编码风格与思路,就看看源码 [学神]武汉-朝菌 2017/7/11 13:54:39没必要看源码..把文档学通就已经牛逼了 [学霸]西安-火边的冰块呵呵,好习惯,不过我不建议你挖的太深.Qt有太多的东西需要了解和学习,先拓宽知识面,再深入下去,如果一开始就深入下去,你会失去兴趣的.Qt类有几百个还是几千个?自带的例子有几百个?这些如果都过一遍,基本上就没有实现不了的了,就看怎么实现了.…
    kafakproducer概要(看源码前,最好能理解) 摘要 kafak 被设计用来作为一个统一的平台来处理庞大的数据的实时工具,在设计上有诸多变态的要求 它必须具有高吞吐量才能支持大量事件流,例如实时日志聚合. 它需要优雅地处理大量数据积压,以支持从脱机系统定期加载数据. 系统将必须处理低延迟传递,以处理更多传统的消息传递用例. 支持进行分区,分布式,实时处理,强大的容错能力. 下文主要对kafka client 客户端源码进行分析    kafka客户端 上图为kafka客户端发送消…
1.谈谈如何看源码   个人觉得拿到一个开源的项目,首先要先使用一下. 如果是有页面的那种,可以先把测试平台部署起来,然后到处随意点点,然后用一下最基础的功能,走一遍基础的使用流程.不用担心会把系统弄坏,弄坏了说明没有配置好或者本身代码有bug,这时候可以尝试先自己解决一下,如果能解决是好的,如果不能解决,那就更好了,因为这个时候会激发出你的好奇心,好奇心会驱使你有更浓厚的兴趣去研究源码. 如果是没有页面的,比如服务器软件或者中间件等,那么也是先使用一下这个软件最基础的功能. 对这个软件有一些了…
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 前文链接 支持JDK19虚拟线程的web框架,之一:体验 支持JDK19虚拟线程的web框架,之二:完整开发一个支持虚拟线程的quarkus应用 支持JDK19虚拟线程的web框架,之三:观察运行中的虚拟线程 本篇概览 本篇是<支持JDK19虚拟线程的web框架>系列的第四篇,主要内容是阅读quarkus源码,开阔眼界,了解框架级别的软件是如何使用虚…
源码分析:动态分析 Linux 内核函数调用关系 时间 2015-04-22 23:56:07  泰晓科技 原文  http://www.tinylab.org/source-code-analysis-dynamic-analysis-of-linux-kernel-function-calls/ 主题 Linux源码分析 By Falcon ofTinyLab.org 2015/04/18 缘由 源码分析是程序员离不开的话题. 无论是研究开源项目,还是平时做各类移植.开发,都避免不了对源码的…
可以通过看MessageBox.js的源码来深入认识,记住它的主要用法.Ext.MessageBox是实用类,用于生成不同风格的消息框,它是Singleton(单例),别名Ext.Msg.注意MessageBox是异步的,不同于一般的Javascript'alert'(它将停止浏览器的执行),显示一个MessageBox不会导致代码停止.出于这个原因,如果你有代码应该只运行在MessageBox用户反馈之后,你就应该加一个回调函数. Ext.MessageBox.alert() 样式:警告框只有…
前面对于 Celery 的分布式处理已经做了一些介绍,例如第五章的 远程控制 和第六章的 Event机制,但是,我认为这些分布式都比较简单,并没有体现出多实例之间的协同作用,所以,今天就来点更加复杂的,对于多实例直接的交互更多,这就是 Gossip 和 Mingle. Mingle 在 Celery 的介绍中,Mingle 主要用在启动或者重启的时候,它会和其他的 worker 交互,从而进行同步.同步的数据有: 其他 worker 的 clock 其他 worker 已经处理掉的 tasks…
在网上看见不少的博客.技术文章,发现大家对于Spring Security中的角色(roles)存在较大的误解,最大的误解就是没有搞清楚其中角色和权限的差别(好多人在学习Spring Security时,是不是对于到底加不加“ROLE_”前缀有点犯蒙),有时候觉得在进行权限控制时用权限名称或者用角色名称都差不多(大家这种感觉是对的,如果简单应用确实差不太多).        我们在进行角色权限控制设计时,一般包括账户(users).角色(roles).权限(authorities)这三部分.  …
这是史上最全面的Spring的核心流程以及运作原理的分析指南 [Spring核心专题]「IOC容器篇」不看繁琐的源码就带你浏览Spring的核心流程以及运作原理 [Spring核心专题]「AOP容器篇」不看繁琐的源码就带你浏览Spring的核心流程以及运作原理 [Spring核心专题]「MVC容器篇」不看繁琐的源码就带你浏览Spring的核心流程以及运作原理 学好Spring技术的背景 针对于每一个Java的爱好者而言,无论是从事面向于微服务架构技术的领域(SpringCloud.SpringC…
平常的工作就是以vue2.x进行开发,因为我是个实用主义者,以前我就一直觉得,你既然选择了这个框架开发你首先就要先弄懂这玩意怎么用,也就是先熟悉vue语法和各种api,而不是去纠结实现它的原理是什么.甚至我可以这么说,你没有看过源码,只通过官方文档也能用这个框架解决绝大部分业务需要,解决大部分bug,而且大部分情况下,别人是不会管你知不知道原理的.但我不是说阅读源码不好,至少在解决另一小部分bug的时候会让你少走很多弯路,知道为什么会导致这样的bug,还有一点,至少在面试的时候还是很有用的,手动…
github就是要这么用才行.看别人的源码,就能了解到很多规范,而写demo,就是自己写出自己的代码.莫欺少年穷…
1. LinkedList实现了一个带表头的双向循环链表: 2. LinkedList是线程不同步的: 3. LinkedList中实现了push.pop.peek.empty等方法,因此LinkedList实现了所有栈的操作,可以被当作栈来使用: 4. LinkedList中实现了offer.peek.element.poll.remove等方法,因此LinkedList实现了所有队列的操作,可以被当作队列来使用: 5. 基于以上的3和4中的实现,LinkedList也可以被当作Deque(双…
在spring中,如果你想创建容器少不了使用常见的xmlbeanfactory,ClassPathXmlApplicationContext,FileSystemXmlApplicationContext,在这里,不介绍后两者.即使xmlbeanfactory已经过时了,但是有必要还是说一说.创建容器的代码:BeanFactory bf = new XmlBeanFactory(new ClassPathResource("applicationContextIOC.xml")):发现…
假如你是使用过或学习过PHP,你一定觉得很简单.session只不过是$_SESSION就可以搞得,这还不简单只是对一个key-value就能工作了.我觉得可以大多数的phper都是这样的,这是语言本身就赋予的.还学习个毛啊,我只要知道它是存数据,并且是服务端的就可以了.   我们noder则要坎坷一些,noder大部分自来于Front-end.session比较少会使用,如果我们也只是求个使用.也可以看看API就足够了,何必勉强自己.   凡事都应该从简单的入手,我们先来讲讲使用方法.自exp…
一直有人问HTML加密混淆怎么做,其实这在业内是早已很多人研究过的课题.假日期间整理一篇文章分享给大家. 我们先理下需求,加密的目的是什么?加密到什么级别?为此我们可以牺牲什么?我们知道这个世界不存在绝对的安全,加密会被破解.混淆会被反混淆.技术小白.开发者.黑客,是完全不同的级别,防范不同级别的人策略都不一样.防范力度越大,投入代价也越大,比如聘请专业的安全公司.除了投入,我们还需要考虑程序的执行性能和用户体验.加密的代码在运行时必须解密,混淆后尤其是混淆HTML后,程序的执行性能会下降.是否…
众所周知,Mybatis有一个全局的配置,在程序启动时会加载XML配置文件,将配置信息映射到org.apache.ibatis.session.Configuration类中,例如如下配置文件. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http…
什么是SPI? ​ 在Java中,SPI全称为 Service Provider Interface,是一种典型的面向接口编程机制.定义通用接口,然后具体实现可以动态替换,和 IoC 有异曲同工之妙. Java SPI 实现DEMO 定义一个接口 public interface Human { String sayHello(); } 定义两个实现类 public class American implements Human { @Override public String sayHell…
简介 cgdb是一款轻量级的基于gdb的命令行可视化工具,关系大致如下: 尽管gdb本身可以通过layout src的命令显示源码布局,但是其功能还是过于简陋. 使用cgdb并不需要你重新去学习过多额外的命令,你依然可以像原来使用gdb一样去使用它. 安装 直接系统安装(可能非最新版本): sudo apt-get install cgdb 若要安装最新版本,可以从源码编译安装: # 先安装相关依赖(已安装的可略过),以 Ubuntu18.04 为例: sudo apt install auto…
前言 听着天籁,我是个音乐迷.时间充实着,会过得很快.我马上也可以到傍晚的时候去乐室吹我心爱的萨克斯. 嘟嘟嘟... 我会吹一首简单的歌咯,哈哈我想到了一个神奇的比喻,待会说. 栈ADT模型(又称LIFO表) 栈(stack)插入和删除只能在一个位置上进行的表.该位置是表的末端但是叫做栈的顶(top).基本操作:进栈(push相当于插入)和出栈(pop相当于删除).又称LIFO表,后进先出. 相当于 就想快速呼吸一样.先吸进来的空气,先呼出去. 你是否记住了? 栈的源码和数组实现 java.ut…
ApplicationContext相比较于BeanFactory,扩展了很多功能.也就是说前者包含了后者的所有功能.使用前者加载XML的方式:ApplicationContext app=new ClassPathXmlApplicationContext("applicationContextIOC.xml"):下面对此代码进行分析,追踪源码如下所示: 参数是Spring配置文件的路径,方法里再次调用其构造方法,如下: 其中,setConfigLocations该方法主要解析给定的…
kafka 由于它自身的高性能发送与消费能力,而受到广大企业的喜欢,所以我们就先看看kafka 一些源码实现如下: public void run() { int messageNo = 1; while (true) { String messageStr = "Message_" + messageNo; long startTime = System.currentTimeMillis(); if (isAsync) { producer.send(new ProducerRec…