自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

blog-darcygail

菩提本无树,明镜亦非台

  • 博客(26)
  • 收藏
  • 关注

原创 kali对ubuntu16.04提权测试

ubuntu本地poc漏洞提权

2022-08-17 17:44:10 437

原创 高性能MySQL(1): 架构与历史

#1.1 MySQL逻辑架构最上层是连接和线程管理. 包含连接处理,授权认证,安全等等第二层是服务层。 核心功能都主要集中在这一层,包括查询缓存,分析,优化,缓存,以及内置函数,跨存储引擎的功能都在这一层实现:存储过程,触发器,视图等等.第三层是存储引擎。负责MySQL中数据的存储与提取。 存储引擎做了封装,对外提供了几十个底层函数,用于执行开始一个事务或者根据逐渐提取记录等操作##1...

2020-04-21 23:15:04 191

原创 golang validator参数校验 中文

今天在改后台页面,参数校验错误时输出全是英文,使用着很难看懂到底时什么错了故而决定去做i18n前端国际化. 改的时候踩了很多坑,故而记录一下,顺便记录以下查问题的方式。效果从原来的Title is required变为标题为必填字段完成后的代码:这里主要定义了初始化了一个中文的trans和Validate的变量,并对其做初始化初始化主要做了以下事情:注册了TagName函数// ...

2020-04-05 20:39:37 2475 4

原创 golang context强制提前退出

golang中context包实现提前退出以前不知道怎么写的,一直无法退出,还以为程序就是无法提前退出。。下面的程序,request休眠100s,然后在另外一个goroutine中,3s后退出所有contextimport ( "context" "log" "sync" "time")func request() { time.Sleep(100 * time.Second...

2020-04-04 13:17:41 742

原创 golang 源码剖析(8): 析构SetFinalizer

SetFinalizer设置一个finalizer关联到一个对象obj,当垃圾回收准备回收obj的时候,它会断开这个连接,并在单独的goroutine中执行finalizer(obj),这将让obj再次可用,但是不会再关联finalizer,在SetFinalizer中:先检查元素,如果类型为nil,或者不为指针,元素值为nil 都会报错查找对象的heap地址如果是函数类型为nil,则移...

2020-03-08 20:48:10 456

原创 golang 源码剖析(7): 延迟defer

简介延迟调用(defer)的优势是:即使函数执行出错,依然能保证回收资源等操作得以执行可以在变量的定义处加入defer,代码结构上避免忘记做某些数据的回收劣势:性能上会会比直接调用慢一些如果在defer中释放,相对来说只会在函数执行结束的时候才会调用,变量生命周期会变长.定义编写以下程序, dump出汇编.defer主要调用了一下两个函数func deferprocSta...

2020-03-08 17:30:12 209

原创 golang 源码剖析(6): 通道

简介通道(channel) 是Go实现CSP并发模型的关键, 鼓励用通信来实现数据共享。 Dont’ communicate by sharing memory, share memory by communicating.CSP: Communicating Sequential Process创建chan.go中 hchan的结构type hchan struct { qcoun...

2020-03-08 02:53:01 228

原创 golang 源码剖析(5): 并发调度

概述基本流程用go func() 创建G放入P本地队列,或平衡到全局队列唤醒或新建M执行任务进入调度循环schedule获取待执行G任务并执行清理现场,重新进入调度循环PMG其实就是将cpu的控制更佳精细了,从原来的一个线程为最小单位改成了一个goroutine为单位。P: Processor, 四类与CPU核,用来控制可同时并发执行的任务数量,每个工作线程必须要绑定一个P...

2020-03-07 04:20:11 378

原创 golang 源码剖析(4): 垃圾回收

#基本概念三色标记和写屏障起初所有的对象都是白色扫描所有的可达对象,标记为灰色,放入待处理队列从队列中提取灰色对象,将其引用的对象标记成灰色放入队列,自身标记为黑色写屏障监视对象内存修改,重新标色或者放回队列.当完成全部的扫描和标记工作后,剩余的只有白色和黑色两种,分别代表待回收和活跃对象,清晰操作只需将白色对象内存回收即可。流程可分为以下几步:扫描a. 设置STW(s...

2020-03-05 19:19:50 591

原创 golang 源码剖析(3): 内存分配

基本概念## 基本策略:先从操作系统申请一块大内存,以减少系统调用将申请到的内存按照特定大小预先切成小块,构成一个链表为对象分配内存时,只需从链表中取出一个大小合适的块使用就好回收对象内存是,只需将对象放回原链表,以便服用闲置过多时,会将部分内存归还系统,降低整体开销内存块分配器将其管理的内存块分成两种:span: 有多个地址连续的页(page)组成的大块内存object...

2020-03-04 19:43:09 510

原创 golang 源码剖析(2) TCMalloc内存管理器

使用TCMalloc(Thread-Caching Malloc)当内存管理器以下翻译自tcmalloc.html动机相对于glibc2.3 malloc, 在2.8GHz P4上,ptmalloc2需要大概300ns执行一个malloc/free 操作,TCMalloc只需要50ns多线程时,可减少锁竞争. 小对象基本都是无锁,对于大对象,ptmalloc2也使用每个线程一个arena...

2020-03-04 02:58:29 196

原创 golang 源码剖析(1): 运行初始化和包初始化

初始化中主要对命令行参数整理,环境变量设置,以及内存分配器,垃圾回收器,并发调度器的工作现场准备基本概念传统并发使用的是:多线程共享内存,go 使用的是CSP(communicating sequential processes)并发模型,以通信的方式来共享内存.go 中使用GPM方式来实现CSP,每个M关联一个P,goroutine关联哪个P是无法控制的,P中维护了一个goroutin的...

2020-03-03 19:36:13 429

原创 ListView适配器和监听器

ListView适配器与监听器

2016-02-11 13:02:53 599

原创 Intent的两种跳转方式

Intent的两种跳转方式无返回值的跳转以点击按钮跳转到下一个页面,在Button的监听事件中写Intent intent =new Intent([ActivityName].this,[TagActivity].class);startActivity(intent);然后在manifest.xml中声明一个那个Activity就好了。 这样就可以实现跳转了,当点击按钮时可以跳转到对应的页

2016-02-05 23:05:07 1637

原创 Android常见布局概览

Android中常见布局线性布局 - LinearLayout 注意区分layout_gravity和gravity的不同:layout_gravity代表是当前控件的在父控件布局的位置,在外。gravity表示当前控件自身内控件的布局位置,在内。帧布局 - FlameLayout帧布局特点是所有控件均从左上方开始,底层的控件被上层软件所覆盖。表格布 - TableLayout 相对布局

2016-02-05 01:50:57 339

原创 [Multi]AutoCompleteTextView&Button

如百度等搜索中,均有可以输入后自动匹配相关项安卓中的[Multi]AutoCompleteTextView可以实现类似功能

2016-02-04 13:11:53 296

原创 TextView跑马灯效果

TextView 跑马灯效果实现实现跑马灯效果要设置ellpsized属性值为marquee.该属性的意思是当字数过多时以横向滚动方式显示。即跑马灯的原形。 ps》》》这里必须要设置singerLine属性为真,否则默认为多行显示。 marquee要求必须获得焦点的时候才能滚动。。所以也要设置一下两个参数andriod:focusable=trueandorid:focusableInTou

2016-02-04 03:41:34 584

原创 Arch Build System

Arch build System1. What’s is arch build Systemthe abs is a port-like system for building and packaging software from source code. it has a directory as /var/abs.every software has a directory so you

2016-02-03 17:45:42 351

原创 Button点击事件的三种实现方式

Button事件的点击事件的实现Tips:OnClickListener是一个接口,因此这里写外部类时不能用继承而是只能implements.。内部匿名类直接在需要的地方new一个出来,并实现onClick()方法

2016-02-03 15:39:51 1688 1

原创 TextView EditView ImageView常用属性

TextView&EditView&ImageView常用属性

2016-02-03 03:12:18 931

原创 项目结构

Android 应用程序的项目结构及介绍

2016-02-03 01:52:44 287

原创 A1.Android开发环境配置

Android 开发环境配置Android Studio +GenymotionAndroid Studiostudio由来 AS是由谷歌开发的一款专门写android的IDE,用来代替Eclipse +ADT来开发的。特性主要是可以preview当前的layout.选择的另一个原因是github上等安卓牛人大都使用了这款软件,故而是个不错的选择。再加上大部分插件的支持。采用gradle替代了

2016-02-03 00:40:41 332

原创 这是一篇记事

从今天开始正式学习Android开发。 代码地址

2016-02-02 23:18:29 242

转载 hibernate4之后HibernateUtil类的编写

基本项目中都会用到,虽然以前的也可以使用,但是对于强迫症还是想去掉犯人的划线。以下是代码:public class HibernateUtil{ Session session=null; private static final SessionFactory sessionFactory; static { try {

2015-12-30 00:51:39 314

原创 #Linux 压缩与解压缩命令总结

Linux 压缩与解压缩命令总结Linux 压缩与解压缩命令总结ContentRARrar压缩commandswitch编写rarlist批量压缩unrar解压缩tar tape archivertargztarxztarbz2Content:=======RARrar压缩命令如下:rar command -switch 1 -switch N archive files.rar

2015-12-26 02:28:53 507

转载 linux下如何实现windows的system(“pause”)

printf("Press any key to continue") ;struct termios te;int ch;tcgetattr( STDIN_FILENO,&te);te.c_lflag &=~( ICANON|ECHO);tcsetattr(STDIN_FILENO,TCSANOW,&te);tcflush(STDIN_FILENO,TCIFLUSH);fgetc(

2015-12-24 01:35:01 4190

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除