- DPDK基础入门(七):网卡性能优化
指针从不空
Linux高性能网络性能优化网络
DPDK的轮询模式运行在操作系统内核态的网卡驱动程序基本都是基于异步中断处理模式,而DPDK采用了轮询或者轮询混杂中断的模式来进行收包和发包。任何包进入到网卡,网卡硬件会进行必要的检查、计算、解析和过滤等,最终包会进入物理端口的某一个队列。物理端口上的每一个收包队列,都会有一个对应的由收包描述符组成的软件队列来进行硬件和软件的交互,以达到收包的目的。轮询模式DPDK的轮询驱动程序负责初始化好每一个
- 鸿蒙轻内核A核源码分析系列七 进程管理 (3)
OpenHarmony_小贾
OpenHarmony鸿蒙开发HarmonyOSharmonyos嵌入式硬件OpenHarmony鸿蒙嵌入式鸿蒙开发鸿蒙内核进程关联
本文记录下进程相关的初始化函数,如OsSystemProcessCreate、OsProcessInit、OsProcessCreateInit、OsUserInitProcess、OsDeInitPCB、OsUserInitProcessStart等。1、LiteOS-A内核进程创建初始化通用函数先看看一些内部函数,不管是初始化用户态进程还是内核态进程,都会使用这些函数,包含进程控制块初始化函数
- Select/Poll/Epoll
我是一名搬运工
Select是Windows里面用的一个多路复用器Selector的机制,Poll和Epoll是Linux里面用的多路复用器Selector的机制。Epoll是Linux2.6版本以上用的,Poll是2.6版本以下用的。Epoll的并发处理效率比Select和Poll高很多,是因为:1)Select/Poll每次调用的时候,都需要把fd集合从用户态拷贝到内核态,由内核态进行遍历,来查找哪些FD已经
- 日更2023年2月17日-日签550
X先生_未知数的X
越努力越幸运,管住嘴,迈开腿,自律给我自由。2a3933a306732bfd5714d18c0.PNGimage.png每天4个习惯(昨天复盘)a.坚持写日更:✓b.健身:✓(2023.2.28日减肥到68公斤以内!!!)c.早睡:✓(不熬夜,尤其不要熬夜玩游戏;刷手机真的很浪费时间!!!)d.早起:×(早起切忌刷手机)每天惜时①不熬夜:✓②不浪费时间:✓③不拖延:×自律,就是在固定的时间做固定的
- 操作系统
Butterfffly
linux运维服务器
用户态和内核态用户态:用户态运行的进程可以直接读取用户程序的数据,拥有较低的权限。当应用程序需要执行某些需要特殊权限的操作,例如读写磁盘、网络通信等,就需要向操作系统发起系统调用请求,进入内核态。内核态:内核态运行的进程几乎可以访问计算机的任何资源包括系统的内存空间、设备、驱动程序等,不受限制,拥有非常高的权限。当操作系统接收到进程的系统调用请求时,就会从用户态切换到内核态,执行相应的系统调用,并
- RDMA驱动学习(一)- 用户态到内核态的过程
KIDGINBROOK
RDMARDMA
最近梳理了一下rdma用户态到内核态传参的流程,会基于ibv_create_cq接口介绍一下ioctl版本的流程,代码基于mlnx-ofa_kernel-5.4。用户态用户态和内核态传的参数包含两部分,用户执行create_cq会传一些标准的参数,比如队列长度cqe,ibv_comp_channelchannel等,还有另外厂商自己的参数,比如mlx5会传cqbuffer的地址等。用户态中首先是通
- DAY9:进程与线程 | 并行与并发 | 用户态与核心态(内核态)
yachihaoteng
开发语言c++缓存
目录进程与线程并行与并发用户态与核心态(内核态)进程与线程进程是资源分配和调度的基本单位。线程是程序执行的最小单位,线程是进程的子任务,是进程内的执行单元。一个进程至少有一个线程,一个进程可以运行多个线程,这些线程共享同一块内存。两者的区别如下:1.资源开销进程:由于每个进程都有独立的内存空间,创建和销毁进程的开销较大。进程间切换需要保存和恢复整个进程的状态,因此上下文切换的开销较高。线程:线程共
- JDK成长记16:从0分析你不知道的synchronized底层原理(下)
_程序员成长记
file上一节你了解了什么是CAS、synchronized形成的锁的类型、重量级锁是用户态进程向内核态申请资源加锁过程,HotSpotJava对象结构,以及初步从3个层面分析了下synchronized的核心流程。还记得核心流程图么?如下所示:file这一节我们仔细来分析下这个过程中,每一步的底层原理。我们需要用到一个工具包,JOL,它可以将java对象的信息打印出来。你可以通过这个工具分析升级
- Linux内核(4)——Linux设备文件open函数从应用到内核全过程解析
Embedded-Xin
Linux驱动/内核编程块设备驱动linux嵌入式c++物联网服务器
学习并整理了下open等系统调用,从用户态如何调用到内核态的全过程。1.Linux内核目录总览2.Linux文件系统与设备驱动关系这是在Linux设备驱动开发详解里找的两张图,内容很形象。当用户程序通过系统调用陷入内核态时,会先经过VFS,也就是虚拟文件系统,使用不同的file_operations,在这里会根据操作的文件类型,来进行不同操作。3.系统调用完成内核调用全过程详解3.1用户态确认好自
- Binder驱动注册
gczxbb
Binder驱动注册Android进程间利用Binder机制实现通信,在App进程中,调用ioctl方法使程序陷入内核态执行,ioctl是用户态程序控制设备的一个系统调用,既然这样,肯定需要虚拟一个设备,通过设备fd文件描述符操作,虚拟设备不存在任何硬件。intioctl(intfd,indcmd,…);fd是打开的设备文件描述符,open返回值,cmd是命令参数,第三个参数是指针类型,指向用户态
- 日更2023年1月23日-日签525
X先生_未知数的X
越努力越幸运,管住嘴,迈开腿,自律给我自由。2a3933a306732bfd5714d18c0.PNGimage.png每天4个习惯(昨天复盘)a.坚持写日更:✓b.健身:✓(2023.1.31日减肥到68公斤以内!!!)c.早睡:✓(不熬夜,尤其不要熬夜玩游戏;刷手机真的很浪费时间!!!)d.早起:×(早起切忌刷手机)每天惜时①不熬夜:✓②不浪费时间:✓③不拖延:×自律,就是在固定的时间做固定的
- BIO、NIO、AIO的区别
Qlh_行则将至
nio服务器数据库
什么是IO?I/O描述了计算机系统与外部设备之间通信的过程程序在用户空间对操作系统的内核发起IO调用,具体IO的执行是由操作系统的内核来完成的。当应用程序发起I/O调用后,会经历两个步骤:内核等待I/O设备准备好数据内核将数据从内核空间拷贝到用户空间。BIO:同步阻塞IO。应用程序发起read调用后,会一直阻塞,直到内核把数据拷贝到用户空间,阻塞等待的是内核数据准备好和数据从内核态拷⻉到⽤户态这两
- 日更2023年1月26日-日签528
X先生_未知数的X
越努力越幸运,管住嘴,迈开腿,自律给我自由。2a3933a306732bfd5714d18c0.PNGimage.png每天4个习惯(昨天复盘)a.坚持写日更:✓b.健身:✓(2023.1.31日减肥到68公斤以内!!!)c.早睡:✓(不熬夜,尤其不要熬夜玩游戏;刷手机真的很浪费时间!!!)d.早起:×(早起切忌刷手机)每天惜时①不熬夜:✓②不浪费时间:✓③不拖延:×自律,就是在固定的时间做固定的
- Linux中内核与驱动程序
请叫我7plus
Linux设备驱动linux单片机运维
系列文章目录第一章Linux中内核与驱动程序第二章Linux设备驱动编写(misc)第三章Linux设备驱动编写及设备节点自动生成(cdev)第四章Linux平台总线platform与设备树第五章Linux设备树中pinctrl与gpio(licheenanopi)文章目录系列文章目录前言一、Linux内核简述?1.内核开发与裸机开发的区别2.用户态和内核态二、Linux设备驱动程序1.具体思路2
- 日更2022年4月25日
X先生_未知数的X
越努力越幸运,管住嘴,迈开腿,自律给我自由。2a3933a306732bfd5714d18c0.PNG每天4个习惯(昨天复盘)a.坚持写日更:✓b.健身:×(2022.5.10日减肥到68公斤以内!!!)c.早睡:✓(刷手机很浪费时间!!!)d.早起:✓每天惜时①不熬夜:✓②不浪费时间:×③不拖延:✓1.昨天晚上没有跑步,加油,把丢掉的习惯找回来,加油!2.昨天晚上称体重74.00公斤,晚上到家吃
- riscv简单常用汇编指令xv6
耶耶耶耶耶~
操作系统操作系统
文章目录前言entry.Smretasmvolatilereadcsrwritecsrriscv常见csr寄存器ecall,系统调用指令cpu执行异常处理指令的三种事件异常处理相关寄存器用户态trapsret指令页表切换操作用户态系统调用过程总结内核态trap缺页异常中断与设备驱动Locking调度文件系统操作系统拥有的资源xv6系统启动过程1.准备C代码执行环境2.进入mainchar*argv
- 检测usb口HotPlug-netlink
cany1000
linux
为了完成内核空间与用户空间通信,Linux提供了基于Socket的NetLink通信机制。SELinux,Linux系统的防火墙分为内核态的netfilter和用户态的iptables,netfilter与iptables的数据交换就是通过Netlink机制完成。下面看一个检测usb口的例子:s32InitUsbHotPlug(void){s32nSockFd=0;//套接字地址structsoc
- Java学习笔记:atomic的实现原理?
曲钟人散
在多线程的场景中,我们需要保证数据安全,就会考虑同步的方案,通常会使用synchronized或者lock来处理,使用了synchronized意味着内核态的一次切换。这是一个很重的操作。有没有一种方式,可以比较便利的实现一些简单的数据同步,比如计数器等等。concurrent包下的atomic提供我们这么一种轻量级的数据同步的选择。classMyThreadimplementsRunnable{
- Linux用户态和内核态通信方法--netlink
嵌入式软件和硬件
Linux系统和应用编程
Linux用户空间和内核空间通信方法:系统调用、procfs、ioctl接口、netlinknetlink是Linux用户态与内核态通信最常用的一种方式。netlink:netlinksocekt是一种用于在内核态和用户态进程之间进行数据传输的特殊的IPC。它通过为内核模块提供一组特殊的API,并为用户程序提供了一组标准的socket接口的方式,实现了一种全双工的通讯连接。类似于TCP/IP中使用
- 日更2023年1月29日-日签531
X先生_未知数的X
越努力越幸运,管住嘴,迈开腿,自律给我自由。2a3933a306732bfd5714d18c0.PNGimage.png每天4个习惯(昨天复盘)a.坚持写日更:✓b.健身:✓(2023.1.31日减肥到68公斤以内!!!)c.早睡:✓(不熬夜,尤其不要熬夜玩游戏;刷手机真的很浪费时间!!!)d.早起:×(早起切忌刷手机)每天惜时①不熬夜:✓②不浪费时间:✓③不拖延:×自律,就是在固定的时间做固定的
- 嵌入式面试:瑞芯微
EEer!
工作面试瑞芯微校招嵌入式笔试
文章目录一、2024秋招1.1IIC的速率范围:1.2linux驱动子系统汇总:1.3linux关抢占情况汇总:1.4操作或者读写一个文件时,从用户态到内核态再到物理介质的流程(考点:虚拟文件系统):一、2024秋招1.1IIC的速率范围:i2c的速率在100kbit/s--3.4Mbits之间标准模式:100kbit/s快速模式:400kbit/s1.2linux驱动子系统汇总:1.pinctr
- optee CA/TA flow
Hola_ya
信息安全安全架构
以TEEC_InvokeCommand为例CA—normalworldEL0//imx-optee-client\libteec\src\tee_client_api.cTEEC_InvokeCommandioctl(session->ctx->fd,TEE_IOC_INVOKE,&buf_data)通过syscall陷入内核态driverlinuxdriver—normalworldEL1tee
- iptables防火墙
刘某的Cloud
网络集群linux服务器网络运维
一、简介netfilter/iptables分别是内核态模块和用户态工具,netfilter位于Linux内核中的包过滤功能体系,iptables位于/sbin/iptables,用来管理防火墙规则的工具,管理员通过iptables给netfilter变更规则实现防火墙作用。二、规则表和规则链1.netfilter/iptables预设的规则表表作用:容纳各种规则链划分依据:根据防火墙对数据的处理
- 日更2023年3月17日-日签578
X先生_未知数的X
越努力越幸运,管住嘴,迈开腿,自律给我自由。2a3933a306732bfd5714d18c0.PNGimage.png每天4个习惯(昨天复盘)a.坚持写日更:✓b.健身:×(2023.2.28日减肥到68公斤以内!!!)c.早睡:×(不熬夜,尤其不要熬夜玩游戏;刷手机真的很浪费时间!!!)d.早起:✓(早起切忌刷手机)每天惜时①不熬夜:×②不浪费时间:✓③不拖延:×自律,就是在固定的时间做固定的
- 云计算基础-计算虚拟化-CPU虚拟化
比特微联
云计算
CPU指令系统在CPU的工作原理中,CPU有不同的指令集,如下图,CPU有4各指令集:Ring0-3,指令集是在服务器上运行的所有命令,最终都会在CPU上执行,但是CPU并不是说所有的命令都是一视同仁的,它会把命令分为不同的指令集Ring0指令集称之为内核态指令集,改啊指令集里面啊运行的主要是操作系统访问硬件、关键数据结构,运行中断等。Ring1-2指令集主要运行的是设备驱动的命令Ring3指令集
- 计算机操作系统-笔记
C+ 安口木
计算机笔记microsoft
现代操作系统阅读笔记第一章引论1.操作系统定义操作系统是运行在内核态的软件,它执行两个基本上独立的任务。隐藏计算机底层硬件的实现,为用户及应用程序提供一个资源集的清晰抽象。管理计算机硬件资源。任何操作系统的核心是它可处理的系统调用集。这些系统调用集真实地说明了操作系统做的工作。2.计算机运行模式多数计算机有两种运行模式:内核态和用户态。软件中最基础的部分是操作系统,它运行在内核态。这内核态模式下,
- 一文理解系统用户态和内核态
宋唐不送糖
内核态(KernelMode):cpu可以访问内存的所有数据,包括外围设备,例如硬盘,网卡,cpu也可以将自己从一个程序切换到另一个程序。用户态(UserMode):只能受限的访问内存,且不允许访问外围设备,占用cpu的能力被剥夺,cpu资源可以被其他程序获取。为什么要有用户态和内核态?由于需要限制不同的程序之间的访问能力,防止他们获取别的程序的内存数据,或者获取外围设备的数据,并发送到网络。CP
- 日更2023年2月23日-日签556
爱运动爱学习
越努力越幸运,管住嘴,迈开腿,自律给我自由。2a3933a306732bfd5714d18c0.PNGimage.png每天4个习惯(昨天复盘)a.坚持写日更:✓b.健身:✓(2023.2.28日减肥到68公斤以内!!!)c.早睡:✓(不熬夜,尤其不要熬夜玩游戏;刷手机真的很浪费时间!!!)d.早起:×(早起切忌刷手机)每天惜时①不熬夜:✓②不浪费时间:✓③不拖延:×自律,就是在固定的时间做固定的
- Linux-进程信号
猿来是这样^
Linux系统原理和系统编程linux服务器信号处理unix
Linux进程信号初步认识信号信号的存储结构信号的处理方式信号的产生硬件异常产生的信号核心转储sigset_t信号集信号集的操作函数对block表的操作对pending表的操作对handler表的操作信号的捕捉用户态和内核态信号的处理过程可重入函数volatile关键字初步认识信号生活中有哪些信号?例如:红绿灯、闹钟、手势等都叫做信号,我们接收到这些信号都会采取一些措施来应对这些信号。操作系统里面
- 【lesson51】信号之信号处理
(unstoppable)
linux信号处理Linux信号C++
文章目录信号处理可重入函数volatileSIGCHLD信号信号处理信号产生之后,信号可能无法被立即处理,一般在合适的时候处理。1.在合适的时候处理(是什么时候?)信号相关的数据字段都是在进程PCB内部。而进程工作的状态一般如下:在内核态中,从内核态返回用户态的时候,进行信号检测和处理!我们为什么会进入内核态?进行系统调用,有一些缺陷、陷阱等!怎么进入内核态?使用int80----->一般内置在系
- java Illegal overloaded getter method with ambiguous type for propert的解决
zwllxs
javajdk
好久不来iteye,今天又来看看,哈哈,今天碰到在编码时,反射中会抛出
Illegal overloaded getter method with ambiguous type for propert这么个东东,从字面意思看,是反射在获取getter时迷惑了,然后回想起java在boolean值在生成getter时,分别有is和getter,也许我们的反射对象中就有is开头的方法迷惑了jdk,
- IT人应当知道的10个行业小内幕
beijingjava
工作互联网
10. 虽然IT业的薪酬比其他很多行业要好,但有公司因此视你为其“佣人”。
尽管IT人士的薪水没有互联网泡沫之前要好,但和其他行业人士比较,IT人的薪资还算好点。在接下的几十年中,科技在商业和社会发展中所占分量会一直增加,所以我们完全有理由相信,IT专业人才的需求量也不会减少。
然而,正因为IT人士的薪水普遍较高,所以有些公司认为给了你这么多钱,就把你看成是公司的“佣人”,拥有你的支配
- java 实现自定义链表
CrazyMizzz
java数据结构
1.链表结构
链表是链式的结构
2.链表的组成
链表是由头节点,中间节点和尾节点组成
节点是由两个部分组成:
1.数据域
2.引用域
3.链表的实现
&nbs
- web项目发布到服务器后图片过一会儿消失
麦田的设计者
struts2上传图片永久保存
作为一名学习了android和j2ee的程序员,我们必须要意识到,客服端和服务器端的交互是很有必要的,比如你用eclipse写了一个web工程,并且发布到了服务器(tomcat)上,这时你在webapps目录下看到了你发布的web工程,你可以打开电脑的浏览器输入http://localhost:8080/工程/路径访问里面的资源。但是,有时你会突然的发现之前用struts2上传的图片
- CodeIgniter框架Cart类 name 不能设置中文的解决方法
IT独行者
CodeIgniterCart框架
今天试用了一下CodeIgniter的Cart类时遇到了个小问题,发现当name的值为中文时,就写入不了session。在这里特别提醒一下。 在CI手册里也有说明,如下:
$data = array(
'id' => 'sku_123ABC',
'qty' => 1,
'
- linux回收站
_wy_
linux回收站
今天一不小心在ubuntu下把一个文件移动到了回收站,我并不想删,手误了。我急忙到Nautilus下的回收站中准备恢复它,但是里面居然什么都没有。 后来我发现这是由于我删文件的地方不在HOME所在的分区,而是在另一个独立的Linux分区下,这是我专门用于开发的分区。而我删除的东东在分区根目录下的.Trash-1000/file目录下,相关的删除信息(删除时间和文件所在
- jquery回到页面顶端
知了ing
htmljquerycss
html代码:
<h1 id="anchor">页面标题</h1>
<div id="container">页面内容</div>
<p><a href="#anchor" class="topLink">回到顶端</a><
- B树、B-树、B+树、B*树
矮蛋蛋
B树
原文地址:
http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html
B树
即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
&nb
- 数据库连接池
alafqq
数据库连接池
http://www.cnblogs.com/xdp-gacl/p/4002804.html
@Anthor:孤傲苍狼
数据库连接池
用MySQLv5版本的数据库驱动没有问题,使用MySQLv6和Oracle的数据库驱动时候报如下错误:
java.lang.ClassCastException: $Proxy0 cannot be cast to java.sql.Connec
- java泛型
百合不是茶
java泛型
泛型
在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,任意化的缺点就是要实行强制转换,这种强制转换可能会带来不安全的隐患
泛型的特点:消除强制转换 确保类型安全 向后兼容
简单泛型的定义:
泛型:就是在类中将其模糊化,在创建对象的时候再具体定义
class fan
- javascript闭包[两个小测试例子]
bijian1013
JavaScriptJavaScript
一.程序一
<script>
var name = "The Window";
var Object_a = {
name : "My Object",
getNameFunc : function(){
var that = this;
return function(){
- 探索JUnit4扩展:假设机制(Assumption)
bijian1013
javaAssumptionJUnit单元测试
一.假设机制(Assumption)概述 理想情况下,写测试用例的开发人员可以明确的知道所有导致他们所写的测试用例不通过的地方,但是有的时候,这些导致测试用例不通过的地方并不是很容易的被发现,可能隐藏得很深,从而导致开发人员在写测试用例时很难预测到这些因素,而且往往这些因素并不是开发人员当初设计测试用例时真正目的,
- 【Gson四】范型POJO的反序列化
bit1129
POJO
在下面这个例子中,POJO(Data类)是一个范型类,在Tests中,指定范型类为PieceData,POJO初始化完成后,通过
String str = new Gson().toJson(data);
得到范型化的POJO序列化得到的JSON串,然后将这个JSON串反序列化为POJO
import com.google.gson.Gson;
import java.
- 【Spark八十五】Spark Streaming分析结果落地到MySQL
bit1129
Stream
几点总结:
1. DStream.foreachRDD是一个Output Operation,类似于RDD的action,会触发Job的提交。DStream.foreachRDD是数据落地很常用的方法
2. 获取MySQL Connection的操作应该放在foreachRDD的参数(是一个RDD[T]=>Unit的函数类型),这样,当foreachRDD方法在每个Worker上执行时,
- NGINX + LUA实现复杂的控制
ronin47
nginx lua
安装lua_nginx_module 模块
lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty
Centos和debian的安装就简单了。。
这里说下freebsd的安装:
fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
ma
- java-递归判断数组是否升序
bylijinnan
java
public class IsAccendListRecursive {
/*递归判断数组是否升序
* if a Integer array is ascending,return true
* use recursion
*/
public static void main(String[] args){
IsAccendListRecursiv
- Netty源码学习-DefaultChannelPipeline2
bylijinnan
javanetty
Netty3的API
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/ChannelPipeline.html
里面提到ChannelPipeline的一个“pitfall”:
如果ChannelPipeline只有一个handler(假设为handlerA)且希望用另一handler(假设为handlerB)
来
- Java工具之JPS
chinrui
java
JPS使用
熟悉Linux的朋友们都知道,Linux下有一个常用的命令叫做ps(Process Status),是用来查看Linux环境下进程信息的。同样的,在Java Virtual Machine里面也提供了类似的工具供广大Java开发人员使用,它就是jps(Java Process Status),它可以用来
- window.print分页打印
ctrain
window
function init() {
var tt = document.getElementById("tt");
var childNodes = tt.childNodes[0].childNodes;
var level = 0;
for (var i = 0; i < childNodes.length; i++) {
- 安装hadoop时 执行jps命令Error occurred during initialization of VM
daizj
jdkhadoopjps
在安装hadoop时,执行JPS出现下面错误
[slave16]
[email protected]:/tmp/hsperfdata_hdfs# jps
Error occurred during initialization of VM
java.lang.Error: Properties init: Could not determine current working
- PHP开发大型项目的一点经验
dcj3sjt126com
PHP重构
一、变量 最好是把所有的变量存储在一个数组中,这样在程序的开发中可以带来很多的方便,特别是当程序很大的时候。变量的命名就当适合自己的习惯,不管是用拼音还是英语,至少应当有一定的意义,以便适合记忆。变量的命名尽量规范化,不要与PHP中的关键字相冲突。 二、函数 PHP自带了很多函数,这给我们程序的编写带来了很多的方便。当然,在大型程序中我们往往自己要定义许多个函数,几十
- android笔记之--向网络发送GET/POST请求参数
dcj3sjt126com
android
使用GET方法发送请求
private static boolean sendGETRequest (String path,
Map<String, String> params) throws Exception{
//发送地http://192.168.100.91:8080/videoServi
- linux复习笔记 之bash shell (3) 通配符
eksliang
linux 通配符linux通配符
转载请出自出处:
http://eksliang.iteye.com/blog/2104387
在bash的操作环境中有一个非常有用的功能,那就是通配符。
下面列出一些常用的通配符,如下表所示 符号 意义 * 万用字符,代表0个到无穷个任意字符 ? 万用字符,代表一定有一个任意字符 [] 代表一定有一个在中括号内的字符。例如:[abcd]代表一定有一个字符,可能是a、b、c
- Android关于短信加密
gqdy365
android
关于Android短信加密功能,我初步了解的如下(只在Android应用层试验):
1、因为Android有短信收发接口,可以调用接口完成短信收发;
发送过程:APP(基于短信应用修改)接受用户输入号码、内容——>APP对短信内容加密——>调用短信发送方法Sm
- asp.net在网站根目录下创建文件夹
hvt
.netC#hovertreeasp.netWeb Forms
假设要在asp.net网站的根目录下建立文件夹hovertree,C#代码如下:
string m_keleyiFolderName = Server.MapPath("/hovertree");
if (Directory.Exists(m_keleyiFolderName))
{
//文件夹已经存在
return;
}
else
{
try
{
D
- 一个合格的程序员应该读过哪些书
justjavac
程序员书籍
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”
很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数
- 单实例实践
跑龙套_az
单例
1、内部类
public class Singleton {
private static class SingletonHolder {
public static Singleton singleton = new Singleton();
}
public Singleton getRes
- PO VO BEAN 理解
q137681467
VODTOpo
PO:
全称是 persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。
BO:
全称是 business object:业务对象 主要作用是把业务逻辑封装为一个对象。这个对
- 战胜惰性,暗自努力
金笛子
努力
偶然看到一句很贴近生活的话:“别人都在你看不到的地方暗自努力,在你看得到的地方,他们也和你一样显得吊儿郎当,和你一样会抱怨,而只有你自己相信这些都是真的,最后也只有你一人继续不思进取。”很多句子总在不经意中就会戳中一部分人的软肋,我想我们每个人的周围总是有那么些表现得“吊儿郎当”的存在,是否你就真的相信他们如此不思进取,而开始放松了对自己的要求随波逐流呢?
我有个朋友是搞技术的,平时嘻嘻哈哈,以
- NDK/JNI二维数组多维数组传递
wenzongliang
二维数组jniNDK
多维数组和对象数组一样处理,例如二维数组里的每个元素还是一个数组 用jArray表示,直到数组变为一维的,且里面元素为基本类型,去获得一维数组指针。给大家提供个例子。已经测试通过。
Java_cn_wzl_FiveChessView_checkWin( JNIEnv* env,jobject thiz,jobjectArray qizidata)
{
jint i,j;
int s