- 博客(53)
- 资源 (4)
- 收藏
- 关注
原创 OpenCV图像处理实现的虚拟16车摆阵列算法
为了模拟小车通过接收指令,自主摆阵列的情形,本算法通过摄像头获取各个小车的位置,通过OpenCV图像处理分析出各个小车的距离,并设置一个安全距离,当小车之间的距离小于安全距离时,小车之间就拉开距离,否则,各个小车仍按照阵列各自的位置目标前进。 下面是算法的具体实现。#include #include#include#include "opencv2/objdetect/obj
2017-08-26 15:36:07 506
原创 通过Kinect制作体感控制机器人
通过kinent识别人体动作,并与arduino单片机进行通信,从而控制机器人做出各种各样的动作。这里需要引入kinect的SDK上位机采用C++语言开发,通过TCP与arduino单片机通信,从而控制机器人 #include <Kinect.h>#pragma comment ( lib, "kinect20.lib" )#include <iostream>Joint joints[J
2017-08-26 15:24:57 3272 5
原创 SpringMVC框架结合amazeUI前端框架form表单上传多文件和实体
SpringMVC框架结合amazeUI前端框架form表单上传多文件和实体。SpringMVC框架,amazeUI框架,表单数据,文件,多文件一次性上传。Controller,Accesser,Interface,Resourse,DAO,entity框架共分为这几层。
2017-08-02 21:23:26 1272
原创 ActiveMQ消息队列之java消息生产与消费
话题生产者:package cn.itcast_03_mq.topic;import java.util.Random;import javax.jms.JMSException; public class ProducerTest { /** * @param args */ public static void
2017-08-31 21:31:19 399
转载 java并发编程的一些总结
%.1.不应用线程池的缺点有些开发者图省事,遇到需要多线程处理的地方,直接new Thread(…).start(),对于一般场景是没问题的,但如果是在并发请求很高的情况下,就会有些隐患: 新建线程的开销。线程虽然比进程要轻量许多,但对于JVM来说,新建一个线程的代价还是挺大的,决不同于新建一个对象 资源消耗量。没有一个池来限制线程的数量,会导致线程的数量直接取决于应用的并发量,这样有潜在
2017-08-31 19:58:47 189
原创 volatile的工作机制代码测试之socket学习笔记
服务端:package cn.itcast.bigdata.socket;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.Socket;public class ServiceServer { public static void main(String[] args) throw
2017-08-31 16:52:27 344
原创 blockingqueue的功能和使用
BlockingQueue也是java.util.concurrent下的主要用来控制线程同步的工具。 主要的方法是:put、take一对阻塞存取;add、poll一对非阻塞存取。 插入: 1)add(anObject):把anObject加到BlockingQueue里,即如果BlockingQueue可以容纳,则返回true,否则抛出异常,不好 2
2017-08-31 11:48:29 583
原创 变态跳台阶java实现
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。青蛙跳上一个台阶有一种跳法,跳上两个台阶有两种跳法,跳上三个台阶有四种跳法,……,跳上n个台阶有2^(n-1)种跳法。public class Solution { public int JumpFloorII(int target) { return (int)Math.pow(2,
2017-08-31 10:42:24 309
原创 线程池学习笔记
线程池的5中创建方式: 1、Single Thread Executor : 只有一个线程的线程池,因此所有提交的任务是顺序执行:ExecutorService newSingleThreadExecutor = Executors.newSingleThreadExecutor();2、Cached Thread Pool : 线程池里有很多线程需要同时执行,老的可用线程将被新的任务触发重新执行
2017-08-30 22:38:02 188
转载 java线程锁之lock
lock和synchronized的区别 1)Lock不是Java语言内置的,synchronized是Java语言的关键字,因此是内置特性。Lock是一个类,通过这个类可以实现同步访问; 2)Lock和synchronized有一点非常大的不同,采用synchronized不需要用户去手动释放锁,当synchronized方法或者synchronized代码块执行完之后,系统会
2017-08-30 18:05:58 345
原创 跳台阶java实现
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路: 对于本题,前提只有 一次 1阶或者2阶的跳法。 a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1); b.假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是f(n-2) c.由a\b假设可以得出总跳法为: f(
2017-08-30 15:40:50 415
原创 synchronized同步代码块
加同步格式: synchronized( 需要一个任意的对象(锁) ){ 代码块中放操作共享数据的代码。 } *synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性。 如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并
2017-08-30 14:54:50 504
原创 java多线程实现的两种方式
通过继承Thread的方式实现多线程package cn.itcast_01_mythread.thread.testThread;import java.util.Random;public class MyThreadWithExtends extends Thread { String flag; public MyThreadWithExtends(String flag){
2017-08-30 14:31:53 240
转载 分布式应用系统服务器上下线动态感知程序开发学习笔记
分布式应用系统服务器上下线动态感知程序package cn.itcast.bigdata.zkdist;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.Z
2017-08-29 23:10:48 290
原创 zookeeper的java客户端api学习笔记
zookeeper的java客户端api的使用样例。package cn.itcast.bigdata.zk;import java.io.IOException;import java.util.List;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org
2017-08-29 22:29:56 253
原创 斐波那契数列java实现
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39public class Solution { public int Fibonacci(int n) { if(n==0){ return 0; } if(n==1||n==2){ return 1
2017-08-29 16:46:44 336
转载 Zookeeper
Zookeeper概念简介:Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务 A、zookeeper是为别的分布式程序服务的 B、Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务) C、Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务…… D、虽然说可以提供各种服务,
2017-08-29 11:39:19 301
原创 JavaScript动态显示系统时间
html文件如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="C
2017-08-29 10:59:31 487
原创 Linux软件自动化部署脚本
首先是免密登录:#!/bin/bashSERVERS="node-3.itcast.cn node-4.itcast.cn"PASSWORD=123456BASE_SERVER=172.16.203.100auto_ssh_copy_id() { expect -c "set timeout -1; spawn ssh-copy-id $1; expect
2017-08-28 22:48:23 667
原创 旋转数组的最小数字java实现
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。import java.util.ArrayList;public class Solution { publi
2017-08-28 20:17:25 274
转载 Iptables教程
1.iptables防火墙简介Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。iptables是Linux2.4及2.6内核中集成的模块。 2.Iptables服务相关命令1.查看iptables状态 service iptables status 2.开
2017-08-28 13:58:53 197
原创 用两个栈实现队列java实现
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public v
2017-08-27 17:13:59 1343 2
原创 Linux——Ubuntu14.04下安装JDK、Tomcat和MySQL
Ubuntu下安装JDK:http://www.linuxidc.com/Linux/2015-01/112030.htmUbuntu下安装Tomcat(需要先把Tomcat包的权限设置为可读可写): http://jingyan.baidu.com/article/e4d08ffdabb0710fd2f60de9.htmlUbuntu下安装MySQL: http://blog.csdn.n
2017-08-27 13:13:25 269
原创 socket代码学习笔记
//可以运行但未测试结果#include <Ws2tcpip.h>#pragma comment(lib,"Ws2_32.lib")#include <stdio.h>#include <Winsock2.h>#include <Windows.h>void main(){ WORD wVersionRequested; WSADATA wsaData; int
2017-08-26 15:48:59 285
转载 kinect骨骼追踪
通过kinect追踪身体骨骼,并在图像上画出来。新奇、有趣。import SimpleOpenNI.*;SimpleOpenNI kinect;public void setup(){kinect=new SimpleOpenNI(this);kinect.setMirror(true);kinect.enableDepth();kinect.enableUser(SimpleOpe
2017-08-26 15:41:47 1597
原创 重建二叉树java实现
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * public class TreeNode { * int val; *
2017-08-26 14:53:40 382
原创 从尾到头打印链表java实现
输入一个链表,从尾到头打印链表每个节点的值。/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.u
2017-08-26 11:26:32 271
原创 MongoDB学习笔记
MongoDB使用正则表达式实现模糊查询的功能;MongoDB快照的使用,查询会在_id上遍历执行,保证每个文档只会被返回一次,从而保证获取结果的一致性。
2017-08-24 21:21:17 194
原创 替换空格java实现
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution { public String replaceSpace(StringBuffer str) { if(str==null){ return null;
2017-08-24 21:13:31 236
原创 二维数组中的查找java实现
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { public boolean Find(int target, int [][] array) { int row=array.length; i
2017-08-24 21:09:27 243
原创 MongoDB学习笔记
本文包括MongoDB自带一些功能的使用、MongoDB数据更新方法(与传统关系型数据库的比较)、使用js操作MongoDB进行增删查数据(有代码)、使用Bulk对MongoDB进行增删改查(有代码)、MongoDB的特性等。MongoDB自带功能: MongoDB数据更新方法(与传统关系型数据库的比较): 使用js操作MongoDB进行增删查数据://连接数据库服务dbServic
2017-08-20 20:13:53 365
原创 使用Python操作MongoDB
首先需要装好驱动,driver,可直接在官网找。 MongoDB支持现有几乎所有的编程语言。 这里以Python为例,演示一下,如下所示: 上面就是利用Python语言往MongoDB插入数据和查找数据的操作。
2017-08-20 14:45:27 330
原创 MongoDB的使用
MongoDB是一个非常新的、效率极高的数据库,操作简便。首先去官网下载MongoDB最新版,解压后即可使用,为了使用方便,在系统path目录下加入bin路径,即可在cmd直接操作。 先要在c盘根目录下创建data文件夹,里面再创建一个db文件夹。 然后打开cmd,输入mongod,再打开一个新的cmd,输入mongo即可开始使用mongodb数据库。*默认端口:27017。 * 当
2017-08-20 14:27:53 264
原创 学习笔记4
获取请求链接的服务器头链接,无协议,给用户加协议,tomcat下获取webApp路径,传入文件名,删除不是同年月日的所有文件,判断网页的编码,爬虫完美绕过服务器反爬检查代码 获取请求链接的服务器头链接:String hostPort = request.getScheme() + “://” + request.getServerName() + “:” + request.getServ
2017-08-15 22:03:11 197
原创 lucene Query搜索
lucene Query 搜索 WildcardQuery通配符查询,给整个文本建立索引,通过通配符匹配搜索,通过通配符的全文搜索
2017-08-14 23:28:19 259
原创 lucene建立索引和各种方式的搜索
lucene建立索引、FuzzyQuery方式检索(可以简单地识别两个相近的词语)、PrefixQuery方式检索(前缀查询)、RangeQuery方式查询(在某个范围)、TermQuery方式查询(词条搜索)lucene建立索引package testindex;import java.io.IOException;import org.apache.lucene.analysis.Analyz
2017-08-10 22:22:31 208
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人