- 博客(60)
- 资源 (3)
- 收藏
- 关注
原创 mybaits之动态sql
mybaits除了提供连接数据库,使java和数据库语句分离之外,还有一个显著的特点就是使用动态sql语句。这些sql语句均写在map映射文件中,并通过一系列标记来完成。 1.if标记。常用形式:<select id="**" resultType="**" parameterType="**"> select * from table where 1=1 <if
2016-02-26 16:40:44
765
原创 mybatis之高级查询
Mybatis中的高级查询主要通过关联查询,集合查询或鉴别器来完成。其核心就是之前提到的通过resultMap标记来完成 1. 关联查询 关联查询一般有三种方式: a.联合查询 利用resultMap的map.xml中的配置如下(Pojo1和Pojo2对应的数据表分别为table1和table2)<resultMap id="Pojo1Map" type="Pojo1"> <id p
2016-02-25 14:40:22
714
原创 mybatis之映射文件
mybatis框架如何实现java语句与数据库语句的分离——映射文件 通过在映射文件中写入动态sql语句,完成增删改查操作。映射文件中的元素都包含在根节点< mapper>< /mapper>下,mapper中一般具有一个namespace的属性,该属性用来指明定义的Dao接口类。例如接口定义如下:public interface IDao{}则namespace配置为:<mapper name
2016-02-24 19:58:18
806
1
原创 mybatis之配置文件
mybatis是一款轻量级的框架,用于java与数据库的连接使用,并且做到了java语句与数据库语句完全分离。关于与数据库的连接,主要使用的是mybatis的配置文件,在配置文件< configuration>节点下通常具有如下的常用根节点: 1. < environments >:配置环境属性,是mybatis连接数据库的核心配置,其根节点下通常需要进行< environment>< trans
2016-02-24 16:34:08
465
原创 Java并发同步器--CyclicBarrier
CyclicBarrier(循环障碍)同步器是concurrent工具包中的一个辅助同步类。主要用来控制多个子线程的并发时间点,并且在子线程完成并发之后,这个阻塞还可以循环利用。其构造方法有如下两种定义:public CyclicBarrier(int parties, Runnable barrierAction) { if (parties <= 0) throw new Ille
2015-12-31 16:31:50
454
原创 Java并发同步器--Exchanger
Exchanger同步器,主要用于线程在预设的同步点进行的数据交换,主要用于遗传算法和管道设计中。其构造方法的定义如下:public Exchanger() {}该构造方法不带参数,但由于该同步类在定义时具有V泛型(V代表值),也就是说,在new对象时需要加上V泛型,这里的V定义的不是同步器的类型,而是线程中交换数据的类型。Exchanger同步类中主要使用的同步方法为exchange方法,定义
2015-12-29 17:03:15
370
原创 Java并发同步器--CountDownLatch
CountDownLatch(计数栓)同步器也是concurrent工具包中一个同步辅助类。主要是用来进行计数同步,完成多个子线程的等待,随后进行同时并发执行。其CountdownLatch类的构造函数原型如下:public CountDownLatch(int count) { if (count < 0) throw new IllegalArgumentException("count
2015-12-29 00:38:47
402
原创 Java并发同步器--Semaphore
Semaphore(信号量)同步器的使用主要是完成Java多线程并发。Semaphore类是定义于concurrent工具包下的对java.io.Serializable接口的一个实现类。主要是通过Semaphore构造方法对信号量进行初始化,原型如下:public Semaphore(int permits) { sync = new NonfairSync(permits);
2015-12-28 19:16:09
515
原创 JVM体系结构--堆
主要作用储存java程序在运行时创建的所有类实例或者数组主要特点内存不连续;程序独占,互不干扰;线程共享,同步访问主要技术垃圾回收 程序只负责分配内存,回收内存需要jvm的垃圾收集器对象的表示 所谓的对象,就是所属的类及其所有超类声明的实例变量组成,通过对象引用完成数据的快速定位,常用的两种表示法: 句柄池+对象池表示法 直接表示法 这种方式就是只使用一个指针,只由一个指向类数据的
2015-12-22 17:12:33
394
原创 JVM体系结构--方法区
JVM由一个类装载子系统,执行引擎,运行时数据区和本地方法接口组成。类装载子系统主要职责:根据全限定名来装载类型(同一限定名通过命名空间区分)。 主要分类:启动类装载器,系统类装载器和用户自定义装载器 启动类装载器只在系统类的安装目录中查找,系统内装载器在CLASSPATH包含的子目录中查找,这两种类装载器主要负责类型的装载,用户自定义类装载器就是java程序的一部分,通过defineClass
2015-12-21 17:31:38
814
原创 python笔记15--django之web(MVC模式)
首先,先要创建所需要的数据库,所有上传的数据都是保存在自己创建的数据库中其次,需要创建一个应用app,里面存放的是方法(model.py中写入所需的数据库格式,views.py中写入urls.py中涉及的方法)、编辑上一级目录(cd ..)中的setting.py文件,在TEMPLATES中加入DIRS,这个DIRS是在views.py中所返回的网页链接注:这里的表示方式为 ['/ho
2015-05-23 10:59:18
491
原创 python笔记14--django之数据库
创建数据库可以用sqlite3命令创建,比较方便简单,但在Django中这种最原始的sql已经不怎么使用,更多地使用的是model+orm技术实现数据库的创建先简单地介绍一下sqlite3:sqlite3 /目录/文件名 即可直接启动sqlites程序,并将创建的数据库保存在相应的路径常用的sqlite3命令(创建命令+添删改查)创建:形如 create table 库名(‘id’
2015-05-22 09:56:57
397
原创 My Fedora trouble[8]
如何解决用vim打开源代码,代码自动折叠,需要频繁利用zo/zO进行打开折叠solution:在vim的配置文件中加入如下语句:set foldlevelstart=99即可关于vim的配置文件位置:cd /etc/vim,在该目录下找到一个叫vimrc的配置文件即可wq保存退出,再次使用vim打开源代码即不会出现默认折叠代码了!
2015-05-19 15:25:43
408
转载 python的17个技巧
转自:http://blog.csdn.net/u011043843/article/details/45715863?ref=myread交换变量x = 6y = 5x, y = y, xprint x>>> 5print y>>> 6if 语句在行内print "Hello" if True else "World">>> Hello连接
2015-05-14 09:43:03
377
原创 关于利用Openmp中使用的时间函数
Openmp是一项并行化技术,是可以提高串行化程序的运行效率的,但需要使用正确的时间函数来进行衡量。首先,先提出unix/linux下的内核时间获取函数1.clock()函数先看其在MSDN中的定义:Returns the processor time consumed by the program,返回的是处理器执行的时间,也就是说,只要内核中有
2015-05-13 20:14:00
11326
转载 HTTP协议详解
转自:http://blog.csdn.net/jnu_simba/article/details/11674477 http://blog.csdn.net/gueter/article/details/1524447 引言 * 网络通信简介传输层及其以下的机制由内核提供,应用层由用户进程提供,应用程序对通讯数据的含义进行解释,而
2015-05-08 10:44:01
460
原创 校验和
校验和是用于检测传输过程中可能产生的错误,将其置于数据后,随数据一同发送,接收端通过同样的算法进行检查,若正确就接受,错误就丢弃校验和C源代码:unsigned short checksum(unsigned char *buf,int len){ unsigned int sum=0; //1 unsigned short *
2015-04-29 11:53:22
3286
原创 python笔记13--多线程
模块:import threadingpython存在一个全局锁(GIL),实际上在python中永远只存在一个线程,但仍然可以使用在python中使用多线程和不使用多线程的demo:不使用多线程:运行结果:使用多线程:运行结果:可以看出还是可以提升计算速度的多线程io操作--互斥锁加锁--acquire
2015-04-13 10:58:17
423
原创 python笔记12--异常处理
什么时候用异常处理:不得不用时,无法知道代码会抛出何种异常,进行异常判定时是无效多余的怎么用:知道可能会出现的指定问题,加上自己的日志异常处理的基本语句:try:’‘’写出可能会抛出异常的代码块‘’except:‘’‘抛出异常时,该执行的内容‘’‘else:‘’‘try没有抛出异常时,执行的代码’‘’finally:‘’‘总是会执行的代码块’‘’
2015-04-03 17:51:14
428
原创 python笔记11--面向对象
面向对象最重要的两个概念就是类(class)和实例(instance)class Base(object): def __init__(self,var1,var2...) #Base类的构造函数,self是Base类中所有内置方法的第一个参数,指向对象本身self.var1=var1self.var2=var2
2015-04-01 14:51:16
395
原创 python笔记10--urllib模块
urllib是python内置一个上层的接口模块,可以从http或ftp上获取文件,这里讲urllib中的两个核心函数列出:核心函数1. urllib.urlopen()help(urllib.urlopen)会得到其参数和功能:参数:urlopen(url,data=None,proxies=None)url:表示远程数据或文件的路径,一般是http或ftp这类网址dat
2015-04-01 11:08:47
383
原创 python笔记9--文件的操作
python中的IO操作其实跟C语言比较类似一.关于文件的读写打开一个文件:(以下列出了最常用的函数)fp=open('/xxx/xxx/xxx','模式')这里的模式可以是r(读),w(写),a(追加),r+(读写),w+(读写),a+(读写) PS:linux系统下没有二进制文件与文本文件的区别fp.read() ##读取文
2015-03-31 21:37:18
427
原创 阿里内推面试经历
------------------------------------------------------------------------------------------写在最前-------------------------------------------------------------------------------------------------------其
2015-03-26 15:33:15
6536
1
原创 算法与数据结构--向量
首先先弄清定义:ADT(Abstract Data Type)与DS(Data Structure)抽象数据类型:只需要知道外部逻辑与操作,而不需要内部定义细节的数据类型++数据结构:某种特定的语言来实现ADT的一整套算法 ,内部的实现实际上,向量只是数组的一种抽象与泛化,由一组元素按线性次序封装而成向量中的一些ADT操作:insert(para1,para2),put
2015-03-26 15:31:10
1608
原创 My Fedora trouble[7]
在secureCRT终端显示中文时乱码(共享windows的文件)或者是用vim打开源代码时,中文注释显示乱solution:在secureCRT的终端,Options->Session Options->Character encoding 改成UTF-8若还不行,vim /etc/sysconfig/i18nLANG="en_US.UTF-8"SYSFONT="True
2015-03-25 15:46:26
351
转载 VS环境的文件类型(.sln,.suo等等)
转自:http://blog.csdn.net/huapeng_guo/article/details/7692640Net解决方案下 .sln文件和.suo文件的解释:When a Web site is created, a solution file (.sln) and a hidden solution user options file (.suo) are cre
2015-03-25 10:46:08
598
原创 python笔记8--python网络编程
python网络编程比C要简单,有不少底层的实现细节已经封装在模块中基于TCP的网络编程:服务器端:客户端:运行:基于UDP的网络编程:服务器端:客户端:运行:PS:一般情况下,一个服务器端一般会与多个客户端进行通信,这里便需要用的多进程通信,需要利用thre
2015-03-17 15:46:53
331
原创 My Fedora trouble [6]
在编译python文件时出现如下错误:SyntaxError: Non-ASCII character '\xe5' in file原因:python默认以ASCII码进行编码,若在没有统一规范utf-8之前,编译器无法辨认中文solution:在最开头加上#coding=utf-8 或 # -*- coding:utf-8 -*-(只有出现了该注释
2015-03-17 15:11:15
354
原创 python笔记7--常用的内建模块
python是一个以模块为单位的语言,其有诸多的内置模块,供直接使用1.collection--集合模块1.namedtuple,创建一个tuple对象,规定tuple的个数,并可以用属性而不用索引来引用某个元素2.deque,python的list是一个连续内存的空间,插入和删除比较低效,该函数即由于高效的插入与删除操作,适用于栈跟列表3.defaultdict,在使用dict这
2015-03-16 21:26:37
550
原创 My Fedora trouble [5]
在fedora终端打开一些app应用程序时,出现错误:Gtk-Message: Failed to load module "pk-gtk-module"solution:yum install PackageKit-gtk3-module原因:缺少相应的module,在/usr/lib64/gtk-2.0/modules/中缺少libpk-gtk-module.so动态库
2015-03-13 15:39:23
533
转载 linux的用户模式和内核模式
MS-DOS等操作系统在单一的CPU模式下运行,但是一些类Unix的操作系统则使用了双模式,可以有效地实现时间共享。在Linux机器上,CPU要么处于受信任的内核模式,要么处于受限制的用户模式。除了内核本身处于内核模式以外,所有的用户进程都运行在用户模式之中。内核模式的代码可以无限制地访问所有处理器指令集以及全部内存和I/O空间。如果用户模式的进程要享有此特权,它必须通过系统调用向设备驱动程序
2015-03-13 11:24:17
7686
原创 windows下常用的cmd命令
总结下自己在windows下常用的一系列cmd命令:dxdiag---检查DirectX信息,也可以看自己的cpu,主板,以及显卡等主要配置信息devmgmt.msc--启动设备管理器,个人觉得比从计算机那里启动要快notepad--打开记事本,在网页界面是没法右击新建的services.msc--打开本地服务设置。个人最常用的一个命令,主要在利用vmware虚拟机是有时启动系统时
2015-03-13 09:25:23
481
转载 python学习笔记6--python模块
原文链接 http://blog.csdn.net/area_52/article/details/44171013Python模块可以把python代码存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py 模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用python标准库
2015-03-12 16:02:07
401
原创 python笔记5--函数的参数定义
函数相当于接口,当完成一个函数的定义时,函数的内部相当于已经封装起来了,调用者只需要知道如何正确的传递函数的参数,函数会返回什么样的值。python中,函数的定义一律采用def开头,后面加函数名,函数名后面的参数确实相当灵活,也是调用者需要理解透彻的。python中函数的参数归纳为一下4种定义方式1.必选参数该参数就是我们在C语言中常用的传递给函数的参数,不做过多说明2.默认参数
2015-03-10 20:51:13
412
转载 linux网络编程 select,poll,epoll模型
1. select、poll、epoll简介epoll跟select都能提供多路I/O复用的解决方案。在现在的Linux内核里有都能够支持,其中epoll是Linux所特有,而select则应该是POSIX所规定,一般操作系统均有实现 select:select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1、 单
2015-03-09 11:05:30
453
原创 区别stderr,strerror,errno的用法
首先stderr与strerror,errno,前面这个概念与后面两个基本没有关系。stderr是C、C++中fprint函数的标准输出流,类似的还有stdin,stdout,其作用是将标准错误输出到屏幕------------------------------------------------------------------------------------------
2015-03-07 10:33:35
1627
转载 C++ 覆盖,重载,隐藏
“overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。先来说说重载的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服。尽管我们说话的时候并没有明确地说用洗车的方式来洗车,或者用洗衣服的方式来洗一件衣服,但是谁也不会用洗衣服的方式来洗一辆车,否则等洗完时车早就散架了。我们并不要那么明确地指出来就心知肚明,这就
2015-03-06 16:00:41
344
转载 Linux常用内核态内存分配方式总结
Linux常用内核态内存分配方式总结一、 alloc_pages类此类函数主要包括:struct page * alloc_page(unsigned int gfp_mask)——分配一页物理内存并返回该页物理内存的page结构指针。struct page * alloc_pages(unsigned int gfp_mask, unsigned int
2015-03-04 10:18:10
475
原创 My fedora trouble[4]
u盘挂载至虚拟机1.虚拟机设置选项->usb控制器中将连接usb的选项都勾上,将计算机->管理->服务与应用程序->服务->Vmware USB Arbitration Service启动(win7系统)2.fdisk -l可能会碰到的问题1:fdisk:command not found solution:在root下执行cd /home/用户名,编译.bach_profil
2015-01-29 19:02:40
379
原创 yunsdr-ad9361TF卡启动镜像的制作
1.uboot.bin(引导程序)从xilinx的git上下载u-boot-xlnx的源码,解压后重新编译编译时出现错误:cc1: error: unrecognized command line option "-mno-unaligned-access"solution:交叉编译工具安装错误,需要安装xilinx提供的专用交叉编译工具下载地址:https://code.goog
2015-01-29 18:41:14
2513
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人