首页 文章 精选 留言 我的

精选列表

搜索[知识库管理],共10000篇文章
优秀的个人博客,低调大师

Git分支及标签管理

添加分支 git branch <name> git branch test1.0 切换分支 git checkout <name> git checkout test1.0 添加分支并切换 git checkout -b <name> git checkout -b test1.0 查看所有分支 git branch $ git branch * master test1.0 删除分支 git branch -d <name> git branch -d test1.0 合并分支 合并到主干。 git merge <name> git merge test1.0 提交分支 git push origin <name> git push origin test1.0 查看分支差异 git diff <source_branch> <target_branch> git diff master test1.0 推荐阅读 去BAT面试完的Mysql面试题总结(55道,带完整答案) 阿里高级Java面试题(首发,70道,带详细答案) 2017派卧底去阿里、京东、美团、滴滴带回来的面试题及答案 Spring面试题(70道,史上最全) 通往大神之路,百度Java面试题前200页。 分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。

优秀的个人博客,低调大师

docker的数据卷管理

mkdir -p /data/volumes 挂载目录 1 2 3 [root@web01~] #dockerrun-d--namenginx-volumes-v/data/volumes:/datanginx 1263f51d5bd1114c7f1582a0efb68266ce367629f01a64693cd15cf115165392 本地的 /data/volumes 挂载到容器的 /data 目录下 3.进入容器写文件测试 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@web01~] #dockerps-a CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 1263f51d5bd1nginx "nginx-g'daemonoff" 5minutesagoUp5minutes80 /tcp ,443 /tcp nginx-volumes a04f5eee61b5nginx "nginx-g'daemonoff" 15minutesagoUp15minutes443 /tcp ,59.110.25.215:89->80 /tcp dokcer-volumes 1f3d2f356995nginx "nginx-g'daemonoff" 41minutesagoUp41minutes443 /tcp ,59.110.25.215:88->80 /tcp mynginx [root@web01~] #bashdockerin.sh1f3d2f356995 root@1263f51d5bd1:/ #cd/data root@1263f51d5bd1: /data #ls root@1263f51d5bd1: /data #touchtest01test02 root@1263f51d5bd1: /data #ls test01 test02 root@1263f51d5bd1: /data # 4.linux本机查看 1 2 3 4 5 6 7 [root@web01volumes] #ll total0 -rw-r--r--1rootroot0Jan322:16test01 -rw-r--r--1rootroot0Jan322:16test02 [root@web01volumes] #pwd /data/volumes [root@web01volumes] # 5.挂载多个目录 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [root@web01volumes] #dockerrun-d--namenginx-volumes02-v/data/volumes2:/data/volumes2-v/data/volumes3:/data/volumes3nginx 5b33955e8addab36c3c183a754d7f82e3ba6c94f1b865d1f4ef366af8ba9e67b [root@web01volumes] # [root@web01~] #bashdockerin.sh5b33955e8addab36c root@5b33955e8add:/ #cd/data/ root@5b33955e8add: /data #ls volumes2volumes3 root@5b33955e8add: /data #touchvolumes2/002 root@5b33955e8add: /data #touchvolumes3/003 root@5b33955e8add: /data # 也是完全OK的 [root@web01data] #tree . ├──volumes │├──test01 │└──test02 ├──volumes2 │└──002 └──volumes3 └──003 3directories,4files [root@web01data] # 6.docker的劵共享机制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [root@web01data] #dockerrun-d--namenginx-volumes-from--volumes-fromnginx-volumes02nginx 3342b2a88ba7121ec19e66fc388d8a19e5499e93fe786452bba295f66c9a1904 nginx-volumes02是一个容器,此容器挂载了两个目录 那么nginx-volumes-from将继承nginx-volumes02的目录,不管nginx-volumes02是否运行 [root@web01~] #bashdockerin.sh3342b2a88ba7121e root@3342b2a88ba7: /data #cdvolumes2 root@3342b2a88ba7: /data/volumes2 #ls 002 root@3342b2a88ba7: /data/volumes2 #touch00vo root@3342b2a88ba7: /data/volumes2 #cd../ root@3342b2a88ba7: /data #ls volumes2volumes3 root@3342b2a88ba7: /data #cdvolumes3 root@3342b2a88ba7: /data/volumes3 #ls 003 root@3342b2a88ba7: /data/volumes3 #touch003vo root@3342b2a88ba7: /data/volumes3 # linux系统查看 [root@web01data] #tree . ├──volumes │├──test01 │└──test02 ├──volumes2 │├──002 │└──00vo └──volumes3 ├──003 └──003vo 3directories,6files [root@web01data] # 本文转自 小小三郎1 51CTO博客,原文链接:http://blog.51cto.com/wsxxsl/1888733,如需转载请自行联系原作者

优秀的个人博客,低调大师

iOS的block内存管理

初始情况下: block本身、__block修饰的变量以及在block内部使用的变量都是在栈里的。 __block修饰的变量的地址会作为实参传入block块内部(暂时先这么理解,实际比较复杂)。block使用的外部变量被const拷贝到了block内部。也就是block使用的外部变量和这个外部变量本身没有关系。 copy方法之后 被拷贝的方法还是在栈上。但是拷贝之后的block已经被放在了heap(堆)上。同时__block修饰的变量被移动到了堆上,原来在栈上的已经不存在。还有block的外部变量的const拷贝也被拷贝到了堆上。 如果block块使用的外部变量是一个refernce的对象,那么这个对象的引用计数会增加1。 堆上的block再做一次copy之后,只是引用计数增加1,但是不会重新再做拷贝动作。 retain操作 由于retain是有返回值的。retain要求返回的地址和调用对象的地址一致。但是block的地址可能是会变的(尤其是从栈到堆的过程),所以对block做retain操作是没有用处的。什么都不会做! 销毁(或内存回收时) heap上的block块先于stack上的被销毁时,如调用release销毁堆上的block块。heap中的block块在引用计数变为0的时候被销毁。而__block修饰的变量还在heap中,因为stack还要使用,同时栈上的block快也要使用。 当heap上的block块晚于stack时,stack会被清除。在heap中的block块在调用release减少引用计数到0的时候释放内存。 block和Objective-C对象 如果对block做拷贝操作,block会对其内部使用的对象生成强引用。 如果在block块内部使用了: 以引用的方式使用了类的成员变量,那么这个block会对self产生强引用。 以值得方式使用了类的成员变量,那么这个block会对这个变量本身产生强引用。 例如: dispatch_async(queue, ^{ // instanceVariable is used by reference, a strong reference is made to self doSomethingWithObject(instanceVariable); }); id localVariable = instanceVariable; dispatch_async(queue, ^{ /* localVariable is used by value, a strong reference is made to localVariable (and not to self). */ doSomethingWithObject(localVariable); }); 以上可以通过__block修饰符来改变。是的__block是另外的一种存储类型,就像copy、retain什么的。这样这个引用就直接被传递到了block中。 但是__block是不可以用来消除对self的循环引用的。 欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 572064792 | Nodejs:329118122 做人要厚道,转载请注明出处! 本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sunshine-anycall/p/4780356.html ,如需转载请自行联系原作者

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册