- Android-面试-Jetpack-LiveData-你必须滴知道得知道的那些玩意儿(1)
m0_64603929
程序员面试移动开发android
作者:RicardoMJiang前言阅读本文前,大家可以先思考一些这几个问题:1.LiveData为什么可以自动取消订阅,如何避免内存泄漏?2.LiveData设置相同的值,会不会回调?3.LiveData有什么坑?如何实现LiveDataBus?带着问题学习可以让我们在学习的过程中更加有目的性与条理。例如在读源码的过程中,我们如果从头开始读,往往千头万绪,抓不住要领。而如果在开始读之前先带着几个
- 使用 LiveDataBus 替代 EventBus
一叶飘舟
android
前言引用官方LiveData介绍LiveDataisanobservabledataholderclass.Unlikearegularobservable,LiveDataislifecycle-aware,meaningitrespectsthelifecycleofotherappcomponents,suchasactivities,fragments,orservices.Thisawa
- Kotlin版 自定义的LiveDataBus
呆咖啡
kotlinandroidlivedatabus消息总线
先上代码:objectLiveDataBusKT{//privatevalbus:MutableMap>bylazy{HashMap()}privatevalMAX_BUS_COUNT=100//最大允许的bus对象数量privatevalbus:LruCache>=LruCache(MAX_BUS_COUNT)//暴露一个线程安全的,给外界注册,订阅者关系@Synchronizedfunwith
- 组件间通信方案(六):自动感知生命周期事件总线LiveDataBus
bug喵喵
一、LiveDataLiveData是17年GoogleIO大会上提出来的一个新技术。相对于通信总线类型的框架EventBus和RxBus来说,它更简单,更简洁、更解耦。它具有以下优点:UI和实时数据保持一致因为LiveData采用的是观察者模式,这样一来就可以再数据发生改变时获得通知,更新UI避免内存泄漏观察者被绑定到组件的生命周期上,当被绑定的组件销毁(Destory)时,观察者会立刻自动清理
- LiveData 粘性事件解决方案 附:简易LiveDataBus
我星空
android移动开发
LiveData粘性事件解决方案**LiveData源码分析**privatevoidconsiderNotify(LiveData.ObserverWrapperobserver){if(!observer.mActive){return;}//Checklateststateb4dispatch.Maybeitchangedstatebutwedidn'tgettheeventyet.////
- LiveDataBus
执念蓝枫
全局共用的消息事件总线,可代替EventBus解决简单的数据传递功能objectLiveDataBus{privatevarbus:MutableMap>=mutableMapOf()privatefunwith(key:String,type:Class):MutableLiveData{if(!bus.containsKey(key))bus[key]=MutableLiveData()ret
- Android 用LiveDataBus替代RxBus、EvenBus
seven2729
androidLiveDataBus替代RxBusEvenBus
最近使用Rxbus发现升级到33版本的时候,会出现报黄色,看着很不舒服。然后就想着找找替换的方案。查找了蛮多资料。发现版本大部分都是大同小异。就如下的链接的三个版本。第一个就是简单实现类型。也是之前Rxbus早期的原型。再就是后面我用来改良的版本。但是跟之前用的Rxbus又有点不一样。因为原先都是习惯了的懒人写法。所以就用当前的类名(XXX.getClass().getSimpleName())来
- 干掉RxJava系列--2. 手写FlowBus替代RxBus/EventBus/LiveDataBus
今阳说
LiveData的不足LiveData是一个专用于Android的具备自主生命周期感知能力的可观察的数据存储器类,被有意简化设计,这使得开发者很容易上手,但其不足有如下两点:LiveData只能在主线程更新数据(postValue底层也是切换到主线程的,而且可能会有丢数据的问题);LiveData操作符不够强大,对于较为复杂的交互数据流场景,建议使用RxJava或Flow;LiveData与And
- 关于LiveData粘性事件所带来问题的解决方案
慕尼黑凌晨四点
参考文章KunMinX:重学安卓:LiveData数据倒灌背景缘由全貌独家解析Android开发者:[译]在SnackBar,Navigation和其他事件中使用LiveData(SingleLiveEvent案例)美团技术团队:Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus我们之前研究LiveData时候有讨论到LiveData天生就是支持“粘性”事件
- livedatabus详解,阿里是如何用他来做淘宝架构的
十年开发程序员
Google为了帮助Android开发者更快更好地开发App,推出了一系列组件,这些组件被打包成了一个整体,称作AndroidJetpack,它包含的组件如下图所示:图片发自App老的support包被整合进了Jetpack,例如上图Foundation模块的AppCompat,整合进去之后,包名做了一下修改,全部以androidx开头。AndroidStudio提供的迁移工具(Refactor>
- Android总线之LiveDataBus
Calvin880828
Android基础Android开源框架androidrxjavaandroidstudio
Android总线之LiveDataBusLiveDataBus概述一、定义LiveDataBus是用LiveData实现的事件总线工具类,用于实现数据传递,实现Android组件之间、组件与后台线程之间通信,可用来替换EventBus。1.为什么要用LiveData实现事件总线呢LiveData是一种可观察的数据存储器类。与常规的可观察类不同,LiveData具有生命周期感知能力,意指它遵循其他
- LiveDataBus 其中的一个库LiveEventBus库的源码解析
zhouzhihao_07
Jetpack源码解析LiveDataBusLiveEventBus
EventBus事件通知的框架我们用了很久了,随着LiveData的出现,出现了LiveDataBus来替代EventBus,因为LiveDataBus会考虑生命周期,EventBus你可能要注意在生命周期结束的时候unregister的,否则会有内存泄漏等问题,而LiveDataBus会在生命周期中自动清理,和jetpack大家族一脉相承,随着我们整个应用开始对jetpack化,这是一个趋势。L
- EventBus3.0源码详解
zhouzhihao_07
Eventbus源码
详解之前要说明一下,LivedataBus比EventBus更适合目前jetpack化的app,因为考虑到组件的生命周期处理,性能方面,EventBus还是要反射invoke的调用的,网上找不到有实测过的博文,我想来个性能对比实测,然后写一篇博文分享给大家,想看的可以评论留言,我看看有多少人支持。想了解LiveDataBus的小伙伴可以看我这篇文章:Livedata和LivedataBus源码详解
- 手写简单的EventBus
若无初见
EventBus是一种用于Android的事件发布-订阅总线框架,由GreenRobot开发,Gihub地址是:EventBus。它简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。关于事件-发布框架后来还出现了类似的Rxbus、LiveDataBus。这里就不做介绍。EventBus出现也有些年头了,目前的最新版本是3.2.0。
- LiveDataBus替代RxBus、EventBus
cain07
https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651748475&idx=4&sn=8feb14dd49ce79726ecf12eb6c243740&chksm=bd12a1368a652820df7c556182d3494d84ae38d4aee4e84c48c227aa5083ebf2b1a0150cf1b5&scene=38#w
- LiveData那些事情,看我一篇就够了
_yao_
实训一androidkotlin开发语言
LiveData那些事情,看我一篇就够了一.LiveDataBus事件总线封装二.LiveDataBus数据倒灌/粘性数据问题解决三.第三方:UnPeekLiveData一.LiveDataBus事件总线封装参考文章方案一:只支持粘性objectLiveDataBus{privatevalmBus=hashMapOf>()funwith(channel:String):SingleLiveData
- 我直接拷贝LiveData源码来打造LiveDataBus
cyixlq
LiveDataBus已经是一个老生常谈的话题了,但是我们今天搞点不一样(噱)的(头)。废话不多说,先上地址:https://github.com/cyixlq/LiveEventBus先来说一说LiveDataBus的一些老生常谈的优势:不需要像EventBus那样注册反注册,可以自动注册解注册,避免了忘记反注册导致内存泄漏事件发送不是通过反射执行,但现在EventBus通过APT也可以实现其它
- Android不使用反射,完成LiveDataBus
liyihuanx
LiveDataBus大家都很熟悉了,网上也有很多通过反射实现的LiveDataBus。但是通过反射实现的代码比较混乱,也比较难以理解。这里给出一版通过代码实现的。更加的简洁优雅~首先来看一下LiveData原理一般我们都是这样使用的,创建一个LiveData去发送数据,在你想观察的地方去注册。这样只要数据发射,你就能拿到你想要的数据了。image.png下面就是你再使用红框语句时的调用流程ima
- 事件总线方案实践
杨充211
liveData实现事件总线目录介绍01.EventBus使用原理02.RxBus使用原理03.为何使用liveData04.LiveDataBus的组成05.LiveDataBus原理图06.简单的实现案例代码07.遇到的问题和分析思路08.使用反射解决遇到问题09.使用postValue的bug10.如何发送延迟事件消息11.如何发送轮训延迟事件12.避免类型转换异常问题13.如何实现生命周期
- Jetpack-LiveData
Showdy
LiveData实现生命周期感知及避免内存泄漏的原因Android官方架构组件LiveData:观察者模式领域二三事LiveData的粘性事件用LiveDataBus替代RxBus、EventBus——Android消息总线的演进之路Android使用LiveData实现EventBus【AAC系列三】深入理解架构组件:LiveData
- 深入理解AAC架构 - LiveDataBus 基于LiveData实现的事件总线
七零八落问号
LiveData作为AAC架构的关键模块之一,具有优秀的生命周期感知特性。本身采用观察者模式,由于其生命周期感知特性,可以用来实现事件总线。本文主要内容:基本思路:基本的实现思路粘性事件特性分析:LiveData观察时推最新数据引发的问题解决思路:解决思路和引入粘性事件本文主要采用反射对Version进行管理,使用Class作为消息管理。也可以使用其他实现方案,或在参考后自建方案:Android消
- LiveData工作原理分析
你的益达啊
Androidandroidjavaapache
分析paging工作原理前,要先了解下LiveData确保UI符合数据状态不需要手动处理生命周期始终保持最新数据时间总线LiveDataBus1.LiveData设置的时候遵循的观察者模式,当宿主的生命状态发生改变,LiveData会像里面注册的观察者发出通知,这时候我们可以再观察者的onChange里面更改ui,保持数据2.LiveData在注册的时候会绑定生明周期,当宿主销毁的时候LiveDa
- 【转】反思 | 事件总线的局限性,组件化开发流程中通信机制的设计与实现
littlefogcat
版权声明:本文为CSDN博主「却把清梅嗅」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/mq2553299/article/details/112724257阅读原文1阅读原文2背景诸如EventBus\RxBus\LiveDataBus的事件总线库在业内正遭滥用。诚然,事件总线看起来小而美,但随着业务复杂度上升
- 基于 LiveData 封装 LiveDataBus 消息总线
wuchao226
1.LiveDataBus的封装通过map维护一个消息事件和MutableLiveData的映射关系,MutableLiveData的类型默认为Object,接收任意类型,实现总线通信将LiveDataBus封装为一个单例类。消息注册时,如果当前map中不存在,则先将消息和对应的MutableLiveData对象放入维护的map中,添加映射关系,返回当前map中缓存的MutableLiveData
- Android实现消息总线的几种方式详解
目录前言一、BroadcastReceiver广播二、EventBus三、RxBus四、LiveDataBus五、FlowBus总结前言消息总线又叫事件总线,为什么我们需要一个消息总线呢?是因为随着项目变大,页面变多,我们可能出现跨页面、跨组件、跨线程、跨进程传递消息与数据,为了更方便的直接通知到指定的页面实现具体的逻辑,我们需要消息总线来实现。从最基本的BroadcastReceiver到Eve
- 基于LiveData的仿EventBus快速实现:LiveDataBus 功能完善
耗子JF
对于黏性广播的问题,我们需要在之前的版本中,加上一个可选设置,默认为关闭状态;但是如何关闭这种功能,我们需要从LiveData事件分发机制里去查看://源码查看,包括postValue最终都是调用SetValue接口实现@MainThreadprotectedvoidsetValue(Tvalue){assertMainThread("setValue");mVersion++;//这里有个一个版
- 基于LiveData的仿EventBus快速实现:LiveDataBus
耗子JF
该Bus实际上是参考了网上资料和相关视频而实现的,【如有雷同,绝对不是巧合】,同时也感谢晚上各种提供资料的广大程序猿们,有兴趣的可以自己也写一个,简单好用:jetpact包中提供的LiveData实际上就已经包含了观察者模式以及对应的LifeOwner对于观察者的管理,官方维护绝对精品,质量有保障,所以我们要做的实际上就是简答的封装而已(站在巨人的肩膀上可以摔得更有范儿):日常我们正常使用Live
- Android 使用 LiveData 实现 EventBus
Lin_YT
绪论本文是学习了大佬的文章后,自己去动手实践后写的一篇学习笔记。大佬的文章写得比较好,我自己去写未必描述得那么清楚,所以本文很多地方都直接引用了大佬的文章。项目源码:https://github.com/LinYaoTian/LiveDataBus效果图:Tip:阅读本文最好对Jetpack的LIfeCycle和LiveData有初步的了解。引用:Android消息总线的演进之路:用LiveDat
- LiveDataBus的升级版--LiveDataBusX
紫气东来_life
移动架构android
关于事件通讯框架,相信大家比较熟悉的有这么两个:EventBus和LiveDataBus(还有RxBus,和LiveDataBusX没什么关系,我就略过了)。EventBus是老牌的框架了,相信大家最熟悉;而LiveDataBus是最近几年兴起的框架,基于AndroidX。使用过这两个框架的同学,我相信都能发现它们的优缺点,即便是LiveDataBus,网上很多博客都大肆的夸奖,看似毫无缺点,但是
- 反思 | 事件总线的局限性,组件化开发流程中通信机制的设计与实现
却把清梅嗅
反思系列博客是我的一种新学习方式的尝试,该系列起源和目录请参考这里。背景诸如EventBus\RxBus\LiveDataBus的事件总线库在业内正遭滥用。诚然,事件总线看起来小而美,但随着业务复杂度上升,事件的发送和订阅到处分布,这个优势反而成为了负担,因此,笔者不建议在任何量级的项目中使用事件总线库。更多原因读者可参考这篇文章。更合理的方案是什么呢?在量级较小的项目中,开发者应该通过依赖注入将
- Spring4.1新特性——综述
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- Schema与数据类型优化
annan211
数据结构mysql
目前商城的数据库设计真是一塌糊涂,表堆叠让人不忍直视,无脑的架构师,说了也不听。
在数据库设计之初,就应该仔细揣摩可能会有哪些查询,有没有更复杂的查询,而不是仅仅突出
很表面的业务需求,这样做会让你的数据库性能成倍提高,当然,丑陋的架构师是不会这样去考虑问题的。
选择优化的数据类型
1 更小的通常更好
更小的数据类型通常更快,因为他们占用更少的磁盘、内存和cpu缓存,
- 第一节 HTML概要学习
chenke
htmlWebcss
第一节 HTML概要学习
1. 什么是HTML
HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,它规定了自己的语法规则,用来表示比“文本”更丰富的意义,比如图片,表格,链接等。浏览器(IE,FireFox等)软件知道HTML语言的语法,可以用来查看HTML文档。目前互联网上的绝大部分网页都是使用HTML编写的。
打开记事本 输入一下内
- MyEclipse里部分习惯的更改
Array_06
eclipse
继续补充中----------------------
1.更改自己合适快捷键windows-->prefences-->java-->editor-->Content Assist-->
Activation triggers for java的右侧“.”就可以改变常用的快捷键
选中 Text
- 近一个月的面试总结
cugfy
面试
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/46753275
前言
打算换个工作,近一个月面试了不少的公司,下面将一些面试经验和思考分享给大家。另外校招也快要开始了,为在校的学生提供一些经验供参考,希望都能找到满意的工作。 
- HTML5一个小迷宫游戏
357029540
html5
通过《HTML5游戏开发》摘抄了一个小迷宫游戏,感觉还不错,可以画画,写字,把摘抄的代码放上来分享下,喜欢的同学可以拿来玩玩!
<html>
<head>
<title>创建运行迷宫</title>
<script type="text/javascript"
- 10步教你上传githib数据
张亚雄
git
官方的教学还有其他博客里教的都是给懂的人说得,对已我们这样对我大菜鸟只能这么来锻炼,下面先不玩什么深奥的,先暂时用着10步干净利索。等玩顺溜了再用其他的方法。
操作过程(查看本目录下有哪些文件NO.1)ls
(跳转到子目录NO.2)cd+空格+目录
(继续NO.3)ls
(匹配到子目录NO.4)cd+ 目录首写字母+tab键+(首写字母“直到你所用文件根就不再按TAB键了”)
(查看文件
- MongoDB常用操作命令大全
adminjun
mongodb操作命令
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。
一
- bat调用jar包并传入多个参数
aijuans
下面的主程序是通过eclipse写的:
1.在Main函数接收bat文件传递的参数(String[] args)
如: String ip =args[0]; String user=args[1]; &nbs
- Java中对类的主动引用和被动引用
ayaoxinchao
java主动引用对类的引用被动引用类初始化
在Java代码中,有些类看上去初始化了,但其实没有。例如定义一定长度某一类型的数组,看上去数组中所有的元素已经被初始化,实际上一个都没有。对于类的初始化,虚拟机规范严格规定了只有对该类进行主动引用时,才会触发。而除此之外的所有引用方式称之为对类的被动引用,不会触发类的初始化。虚拟机规范严格地规定了有且仅有四种情况是对类的主动引用,即必须立即对类进行初始化。四种情况如下:1.遇到ne
- 导出数据库 提示 outfile disabled
BigBird2012
mysql
在windows控制台下,登陆mysql,备份数据库:
mysql>mysqldump -u root -p test test > D:\test.sql
使用命令 mysqldump 格式如下: mysqldump -u root -p *** DBNAME > E:\\test.sql。
注意:执行该命令的时候不要进入mysql的控制台再使用,这样会报
- Javascript 中的 && 和 ||
bijian1013
JavaScript&&||
准备两个对象用于下面的讨论
var alice = {
name: "alice",
toString: function () {
return this.name;
}
}
var smith = {
name: "smith",
- [Zookeeper学习笔记之四]Zookeeper Client Library会话重建
bit1129
zookeeper
为了说明问题,先来看个简单的示例代码:
package com.tom.zookeeper.book;
import com.tom.Host;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.Wat
- 【Scala十一】Scala核心五:case模式匹配
bit1129
scala
package spark.examples.scala.grammars.caseclasses
object CaseClass_Test00 {
def simpleMatch(arg: Any) = arg match {
case v: Int => "This is an Int"
case v: (Int, String)
- 运维的一些面试题
yuxianhua
linux
1、Linux挂载Winodws共享文件夹
mount -t cifs //1.1.1.254/ok /var/tmp/share/ -o username=administrator,password=yourpass
或
mount -t cifs -o username=xxx,password=xxxx //1.1.1.1/a /win
- Java lang包-Boolean
BrokenDreams
boolean
Boolean类是Java中基本类型boolean的包装类。这个类比较简单,直接看源代码吧。
public final class Boolean implements java.io.Serializable,
- 读《研磨设计模式》-代码笔记-命令模式-Command
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* GOF 在《设计模式》一书中阐述命令模式的意图:“将一个请求封装
- matlab下GPU编程笔记
cherishLC
matlab
不多说,直接上代码
gpuDevice % 查看系统中的gpu,,其中的DeviceSupported会给出matlab支持的GPU个数。
g=gpuDevice(1); %会清空 GPU 1中的所有数据,,将GPU1 设为当前GPU
reset(g) %也可以清空GPU中数据。
a=1;
a=gpuArray(a); %将a从CPU移到GPU中
onGP
- SVN安装过程
crabdave
SVN
SVN安装过程
subversion-1.6.12
./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-openssl=/
- sql 行列转换
daizj
sql行列转换行转列列转行
行转列的思想是通过case when 来实现
列转行的思想是通过union all 来实现
下面具体例子:
假设有张学生成绩表(tb)如下:
Name Subject Result
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
*/
/*
想变成
姓名 &
- MySQL--主从配置
dcj3sjt126com
mysql
linux下的mysql主从配置: 说明:由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低, Master的版本肯定不能高于Slave版本。(版本向下兼容)
mysql1 : 192.168.100.1 //master mysq
- 关于yii 数据库添加新字段之后model类的修改
dcj3sjt126com
Model
rules:
array('新字段','safe','on'=>'search')
1、array('新字段', 'safe')//这个如果是要用户输入的话,要加一下,
2、array('新字段', 'numerical'),//如果是数字的话
3、array('新字段', 'length', 'max'=>100),//如果是文本
1、2、3适当的最少要加一条,新字段才会被
- sublime text3 中文乱码解决
dyy_gusi
Sublime Text
sublime text3中文乱码解决
原因:缺少转换为UTF-8的插件
目的:安装ConvertToUTF8插件包
第一步:安装能自动安装插件的插件,百度“Codecs33”,然后按照步骤可以得到以下一段代码:
import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a30980927
- 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM
geeksun
PHP
CGI
CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。
CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。 FastCGI
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不
- Git push 报错 "error: failed to push some refs to " 解决
hongtoushizi
git
Git push 报错 "error: failed to push some refs to " .
此问题出现的原因是:由于远程仓库中代码版本与本地不一致冲突导致的。
由于我在第一次git pull --rebase 代码后,准备push的时候,有别人往线上又提交了代码。所以出现此问题。
解决方案:
1: git pull
2:
- 第四章 Lua模块开发
jinnianshilongnian
nginxlua
在实际开发中,不可能把所有代码写到一个大而全的lua文件中,需要进行分模块开发;而且模块化是高性能Lua应用的关键。使用require第一次导入模块后,所有Nginx 进程全局共享模块的数据和代码,每个Worker进程需要时会得到此模块的一个副本(Copy-On-Write),即模块可以认为是每Worker进程共享而不是每Nginx Server共享;另外注意之前我们使用init_by_lua中初
- java.lang.reflect.Proxy
liyonghui160com
1.简介
Proxy 提供用于创建动态代理类和实例的静态方法
(1)动态代理类的属性
代理类是公共的、最终的,而不是抽象的
未指定代理类的非限定名称。但是,以字符串 "$Proxy" 开头的类名空间应该为代理类保留
代理类扩展 java.lang.reflect.Proxy
代理类会按同一顺序准确地实现其创建时指定的接口
- Java中getResourceAsStream的用法
pda158
java
1.Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2. Class.getClassLoader.get
- spring 包官方下载地址(非maven)
sinnk
spring
SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径:
http://repo.springsource.org/libs-release-local/org/springframework/spring/
s
- Oracle学习笔记(7) 开发PLSQL子程序和包
vipbooks
oraclesql编程
哈哈,清明节放假回去了一下,真是太好了,回家的感觉真好啊!现在又开始出差之旅了,又好久没有来了,今天继续Oracle的学习!
这是第七章的学习笔记,学习完第六章的动态SQL之后,开始要学习子程序和包的使用了……,希望大家能多给俺一些支持啊!
编程时使用的工具是PLSQL