- 博客(99)
- 收藏
- 关注
原创 mybatis中的全局配置文件
在mybatis中的全局配置文件SqlMapConfig.xml中,我们可以配置的内容如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境集合属性对象) environment(环境子属性
2016-11-22 18:13:20
3557
原创 Spark核心概念
从上层来看,spark应用都有一个驱动器程序(driver program)来发起集群上的各种并行操作。驱动器程序包含的应用的main函数,并且定义了集群上的分布式数据集,还对这些分布式是数据集应用了相关操作。 驱动器程序通过一个SparkContext对象来访问Spark。这个对象代表计算集群的一个连接。当我们通过shell来运行spark程序时,shell启动时已经自动创建了一个SparkCo
2016-11-21 19:32:00
582
原创 Mybatis 开发dao方法
首先,SqlSession 使用范围:我们在用mybatis访问数据库是使用SqlSession来操作数据的,在这之前,我们需要先创建SqlSessionFactory来创建,SqlSessionFactory是一个接口,使用它我们需要通SqlSessionFactoryBuilder来创建。 1. SqlSessionFactoryBuilder 通过SqlSessionFactoryBui
2016-11-21 17:18:02
496
原创 获取mysql数据库中的自增主键属性值和非自增主键属性值的方法
获取mysql数据库中的自增属性值得方法: 将插入数据的自增属性值通过SELECT LAST_INSERT_ID()的方法得到。e.g.:User表中有一个id为主键,且设置为自增属性,现在往数据库中插入一条数据,并且要返回自增属性的值。<insert id="insertUser" parameterType="com.dy.po.User">insert into user (usern
2016-11-15 21:38:18
1293
原创 数据库模糊查询
在mybatis框架中,操作数据库时有时会用到模糊查询,介绍一种模糊查询的方法: 通常在mybatis中我们需要使用#{}占位符,在SQL中用?来表示。来查找未知变量,在进行模糊查询时如果我们使用这样的sql:select * from userwhere username like #{value}这样的话我们在使用时还需要在注入参数时写成%value%,有时可能会忽略。此时我们可以使用:${
2016-11-15 15:49:28
2064
原创 Mybatis框架
学习下mybatis的框架结构: 1、mybatis:MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注
2016-11-14 22:47:06
364
原创 使用jdbc查询数据库方法及存在的问题
首先,说下单独使用jdbc查询数据库中的数据方法:加载数据库驱动创建并获取数据库链接创建jdbc statement对象设置sql语句设置sql语句中的参数(使用preparedStatement)通过statement执行sql并获取结果对sql执行结果进行解析处理释放资源(resultSet、preparedstatement、connection)以上几个步骤时通常用jdbc
2016-11-14 21:00:57
2624
原创 mac和linux上查询端口被占用情况
mac 上lsof -i tcp:port将端口号替换为相应的要检测的端口号 可以查看该端口被什么程序占用,并显示PID,方便KILL然后根据PID杀死进程 sudo kill -9 12345Linuxnetstat -apn | grep 4040 然后根据PID杀死相应的进程kill -9 26105
2016-11-07 22:07:48
372
原创 Java中Socket通信
简介Socket又称”套接字”,应用程序通常通过”套接字”向网络发出请求或者应答网络请求。 在Java中,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端
2016-10-25 16:10:15
360
原创 Http协议中GET和POST的区别
Http协议定义了客户端与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL定位了这个资源,而HTTP中的GET,POST,PUT,DELETE就是对应着对这个资源的查,改,增,删4个操作。其中GET用于从服务器上获取数据,它只能获取查询数据,并不能修改服务器上的数据,所以说用GET方式来获取数据是比较安全的。POST方法也可以从服务器上获取数据,但是它也
2016-10-24 17:09:40
1269
原创 Java中的HTTP通信
使用Http的GET方法读取数据GET方法主要实在建立URL链接后通过URLconnection实例调用getInputStream方法得到数据流,然后进行输出。 在这块,我用到了有道API进行了测试,可以百度有道翻译,点击有道API,然后调用数据接口自行申请调用。 例子代码如下:import java.io.BufferedReader;import java.io.IOException;
2016-10-24 16:51:21
4117
原创 Java中JSON的操作
简介JSON:JavaScript对象表示法(JavaScript Object Notation)。 是储存和交换文本信息的语法。JSON是轻量级的文本数据交换格式。JSON独立于语言和平台。JSON具有自我描述性,更易理解。JSON与XML 类似XML,比XML更小、更快、更易解析。 - 没有结束标签 - 更短 - 读写速度更快 - 使用数组 - 不使用保留字JS
2016-10-24 15:30:43
410
原创 Java操作XML数据
XML的操作:1、Java读取XML数据格式: 代码示例: 一个创建好的XML文件:<?xml version="1.0" encoding="UTF-8"?><Languages cat="it"> <lan id="1"> <name>Java</name> <ide>Eclipse</ide> </lan> <lan id="2">
2016-10-23 15:38:25
452
原创 java进阶巩固--XML数据格式
基础概念XML简介: 可扩展标记语言(Extensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。特点: 1、 XML 是一种标记语言,很类似HTML,仅仅是纯文
2016-10-23 15:28:22
351
转载 SpringMVC使用@Component时,同一个操作反复执行多次
这几天在做定时任务时,用到了@component注解,但是后期在处理时发现注解里面的方法执行时总是被执行了两次。 在找解决方法时,看了很多博客,其实引发这个问题的主要原因是重复定义,从而导致了同一个操作执行了多次。同时也找到一篇总结的比较好的博客。 转载自这篇博客 情景:在使用SpringMVC的定时任务的注解时,发现自己的定时任务会重复执行俩次。这是为什么呢?java代码:spring-mv
2016-10-23 14:04:46
6228
2
转载 js实现图片点击放大
这个方法能达到效果,但是可能不太美观,是最简单的一种方法:<html> <head> <meta charset="utf-8" /> <script type="text/javascript" src='jquery-1.8.0.js'></script> </head> <body> <img id="img1" src=
2016-10-19 19:26:44
6315
转载 shell脚本自动清理服务器日志和图片
在做性能测试的时候,linux服务器时常会产生大量数据,如日志信息,图片信息,文件信息等,压测一段时间后,导致服务器磁盘空间暂满而崩溃,每天手动清理比较麻烦, 利用shell脚本自动清理,脚本如下 1.删除文件命令: find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} \; 实例命令:find /home/weblogic/rc-server-t
2016-10-19 16:42:33
1401
原创 对四种正则表达式分组算法的评估
在前几篇文章中介绍了Yu算法,IGA算法,Becchi算法和REG_NAGA算法,我们从分组之间DFA状态数是否平衡,是否度量正则表达式间膨胀影响,分组时的度量方式,是否对分组的匹配顺序进行调度四个方面来评估下这几个算法,通过下图来展现: 在前几篇博文中我们可以知道,Yu算法和IGA算法会设定一个阈值,当当前分组中的状态数达到阈值以后会重新建立分组,他们的,而IGA与Yu算法不同的是IGA引入了公
2016-09-20 11:53:42
1163
原创 基于遗传算法的正则表达式分组算法
蔡良伟等人在提出了基于遗传算法的表达式分组 REG_NAGA 算法, 该算法优化了原有的 Becchi 分组算法,获得了较好的分组效果一、Becchi 分组算法 Becchi 算法由 Becchi 等人提出的,其算法的分组策略为不断循环二分待分组的特征模式集合,直到完成正则表达式分组。Becchi 算法的分组过程如下: (1) 将未分组正则表达式集合的第一条正则表达式加入到当前组
2016-09-20 11:28:08
1891
原创 正则表达式分组算法:IGA算法
针对Yu算法中存在的不足王美阳等人在研究中提出了新的正则表达式分组算法——IGA 算法。IGA 算法更新了正则表达式之间相互作用大小的描述,通过引入膨胀系数这一概念,来衡量正则表达式相互作用的大小。膨胀率的定 义如下:EC(R1, R2) = #DFA(R1 |R2) /(#DFA(R1)+#DFA(R2))EC(R1, R2) = #DFA(R1 |R2) /(#DFA(R1)+#DFA(R2))
2016-09-20 10:52:35
1834
原创 正则表达式分组算法:Yu算法
Yu算法的提出Yu等人首次提出了正则表达式分组的概念,同时提出了Yu算法。 在研究中提出如下假设: 存在正则表达式 R1、R2、R3,在合并正则表达式时,如果 R1 与 R2 互不影 响,R2 与 R3 互不影响,则可以认为 R1 与 R3 互不影响。 该假设并没有提供出实际的数学证明,只是通过大量实验检测不满足假设的概率极低可以忽略不计。Yu算法的内容Yu 算法通过计算两两正则表达式之间的
2016-09-19 19:28:19
1179
原创 初始Spark
Spark是于2009年作为一个研究项目在加州大学伯克利分校RAD实验室(AMPLab的前身)诞生。 什么是Spark? Spark是一个用来实现快速而通用的集群计算平台,其核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎。应用场景: 批处理、迭代算法、交互式查询、流处理。spark提供的接口非常丰富。除了提供基于Python、Ja
2016-09-18 10:56:09
517
转载 将正则表达式转换为有限状态自动机
在前一文章中总结了一下对DFA和NFA两种有限状态自动机的认识,在实际应用中,例如开发编译器时,将正则表达式转换为自动机会非常重要的一环。如果对NFA和DFA不理解的可以看下这篇博文 看一下如何把正则表达式通过Thompson构造转换为NFA: DFA和NFA理解 一个例子: (and|any)转换为NFA“|”或者,也就是从开始分成两条路去选择。 或者:从初始状态分化两条对应字符为空
2016-09-14 20:07:57
17932
原创 对于DFA、NFA理解
最近在做深度包检测课题时,需要学一些新的算法: DFA、NFA,对这两个算法进行一下小的总结:有穷状态自动机一听这个名字感觉很高大上,很陌生,不知道是什么意思,但是可以分开来理解。有穷,也就是说这个东西是有穷尽的,不是无限多的。状态自动机(自动机):软件工程的统一建模语言(UML)有状态图,数字逻辑中也有状态转移图。不过这些各种各样的图在本质上都跟状态机没有什么区别。总体的意思就是在有限个输入的情
2016-09-13 18:28:28
37256
原创 正则表达式学习及应用
在scala中,模式匹配是很重要的一个模块,这部分主要涉及到了正则表达式的应用,所以特地学习了一下。 以下是总结的一些语法:符号’^’和’$’他们的作用是分别指出一个字符串的开始和结束。例子如下: "^The":表示所有以”The”开始的字符串(”There”,”The cat”等); "of despair$":表示所以以”of despair”结尾的字符串; "^abc$":表示开始和结
2016-09-13 11:36:46
452
转载 NFA/DFA
1、问题概述随着计算机语言的结构越来越复杂,为了开发优秀的编译器,人们已经渐渐感到将词 法分析独立出来做研究的重要性。不过词法分析器的作用却不限于此。回想一下我们的老师刚刚开始向我们讲述程序设计的时候,总是会出一道题目:给出一个填入 了四则运算式子的字符串,写程序计算该式子的结果。除此之外,我们有时候建立了比较复杂的配置文件,譬如XML的时候,分析器首先也要对该文件进行词法分 析,把整个字符串断成了
2016-09-13 10:33:52
4724
原创 Mac下极光推送问题 :Can not connect to JPush Server. Please ensure your internet connect
最近由于项目需要,使用了极光推送服务,把它配置在了服务器端,但是在使用的时候用官方Demo总是报错:Can not connect to JPush Server. Please ensure your internet connect。 Caused by: java.net.UnknownHostException: api.jpush.cn但是,自己写的和官方例子一样,而且网络也没问题,怎么
2016-09-07 11:41:59
4807
原创 eclipse中代码更改,但是却没有起到效果
在写程序过程中,误点击了Build Automatically 对勾消失了,此时,你每次更新代码都不会有相应的改变,只能手动每次Build Project 来保存。 当时,相当恼火,为什么每次都不改变,以为自己的配置问题,改了老半天。 解决方法: 点击Project,点击Build Automatically,将这个对勾打上即可。
2016-09-07 11:22:38
11378
原创 eclipse 配置使用外部Tomcat
在做项目中,我们需要把代码放到服务器上,此时,我们用需要用外部Tomcat。 配置方法: 1、点击window-showview-other 2、选择server-servers3、进去后把当前项目移除:4、然后右键,点击open 我这边是已经配置好的,没有配置的话,这块 选择的是第一项,但是现在这块是不能更改的。此时点击open launch configuration 随便改下配置
2016-09-07 11:14:53
4209
1
转载 scala方法和函数的区别
方法可以作为一个表达式的一部分出现(调用函数并传参),但是方法(带参方法)不能作为最终的表达式,但是函数可以作为最终的表达式出现:scala定义一个方法:scala> def m(x:Int) = 2*x m: (x: Int)Intscala定义一个函数:scala> val f = (x:Int) => 2*xf: Int => Int = <function1>方法不能作为最终表达式出现:
2016-09-06 16:35:52
574
转载 @scheduled定时任务
最近做项目遇到需要用到定式服务,在一定时间间隔或者在某个时间去执行一套逻辑,在这块找到了一个不错的方法,对比timer,我觉得他用起来更方便。 来看相关配置:配置spring.xmlxmlns:task="http://www.springframework.org/schema/task"然后xsi:schemaLocation多加以下的内容:http://www.springframework
2016-09-06 12:11:40
443
原创 配置web项目
上一篇讲了maven-web目录结构和创建maven项目,不懂得小伙伴可以参考博文创建maven-web项目 现在来看一下,配置一个小的web项目:右键点击mavenDemo项目,依次点击Properties-》Project Facets-》Convert to faceted form… ,如下图所示 : 如果没有到这个页面点击convert to…..勾选Dynamic Web Mo
2016-09-06 11:59:26
443
转载 java服务器端--maven项目--目录结构
前端时间和小伙伴们接了个小的项目,帮助同学搭建网页服务器。现在总结下学习到的东西: 首先,我用的是maven来管理jar包,不得不承认,用这个会经常出错,经常发生jar包冲突。不多说直接先说基础知识,maven项目的目录结构。一、标准目录结构:src -main –bin 脚本库 –java java源代码文件 –resources 资源库,会自动复
2016-09-06 11:17:54
2247
原创 node on mac
安装homebrew.homebrew是池建强大牛极力推荐的osx的包管理工具。通过homebrew命令可以下载、管理很多工具啊,node就用它下载了。 进入homebrew,复制页面上的命令,打开终端粘贴命令进行下载。安装nodejsbrew install nodejs安装mongodbbrew install mongodb安装完成后,查看mongodb版本mongo --versionmo
2016-07-25 12:05:40
298
原创 mac上配置maven
现在maven的最新版本是3.3.9,在官网上说的是支持jdk1.7及以上,但是我在我机子上装的时候过在jdk1.8环境下的话,会发生异常,所以,我提供一种解决的方法。当然,可能是我的其他问题导致的这个异常。 maven安装下载Maven并解压到某个目录,比如:/Users/mac/Documents/apache-maven-3.3.9(这是我的目录)配置环境变量$ vi ~/.bash_
2016-07-11 17:14:47
495
原创 scala学习笔记--高阶函数
Scala混合了面向对象和函数式的特性。在函数式编程语言里,函数是“头等公民”,也就是说函数很重要,它可以像任何其他数据类型一样被传递和操作。也就是说,函数可以作为一个值传给一个变量。函数可以作为值在scala中,函数是“头等公民”,就和数字一样。可以在变量中存放函数:val a = ceil _val b = sqrt _当然前提是导入相应的包。这样我们可以和ceil的用法一样使用a。a(3.1
2016-07-09 17:45:58
374
原创 Scala学习笔记
标识符在定义标识符的时候,可以像java经典模式那样定义。当然,scala在选择标识符的时候有比java更多的选择,可以使用Unicode字符和以字母和下划线开头,你也可以使用任意序列的操作符字符。此外,我们还可以定义符号标识符,例如:val √ = scala.math.sqrt _还有一个对于保留字符的定义的解决办法,我们可以利用反引号来实现对于关键字的定义方法。val `val` = 42这种
2016-07-08 21:31:29
281
原创 行为型--迭代器模式
迭代器模式也是一个我们在写程序时经常用到的,特别是在java中已经封装好了,我们可以通过集合对象实例来调用。模式意图提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴漏该对象内部表示。模式适用性在设计程序时,我们希望无论何种集合,应当允许程序以一种统一的方式遍历集合中的对象,而不需要知道这些对象在集合中是如何表示及存储的。模式参与者集合(Aggregate):一个接口,规定了具体集合需实现
2016-07-05 16:46:38
445
原创 行为型--观察者模式
模式意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并被自动更新。模式适用性在许多设计中,经常涉及对个对象都对一个特殊对象中的数据变化感兴趣,而且这多个对象都希望跟踪那个特殊对象的数据变化。模式参与者主题(subject):主题是一个接口,该接口规定了具体主题需要实现的方法。观察者(Observer):观察者是一个接口,该接口规定了具体观察者用来更新数
2016-07-05 16:32:24
440
原创 行为型--命令模式
模式意图将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。模式适用性在许多设计中,经常涉及到一个对象请求另一个对象调用其方法到达某种目的。如果请求者不希望或无法直接和被请求者打交道,即不希望或无法含有被请求者的应用,那么就可以使用命令模式。模式参与者接受者(Receiver):接受者是一个类的实例,该实例负责执行与请求相关的操作。
2016-07-05 16:01:27
429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人