- 博客(88)
- 资源 (2)
- 收藏
- 关注

原创 一、基于wifi控制的智能家居系统之项目简介和设计方案(硬件基于arduino+esp8266,软件Android+Web端+scoket服务器,实现语音控制)
一、项目功能介绍项目主要实现了电灯、风扇、窗户的远程控制,以及获取室内的温度、湿度、室外雨水量。可通过雨水量来控制窗户的开关,以便于人们在其他地方时,窗户能够在下雨时进行关闭,防止雨水进入室内,提高人们的生活质量。同时可以通过温度控制风扇的档位,温度越高,风扇的转速越快。用户还可以通过语音控制各个设备,更显智能化。在大数据时代,采集温度、湿度、雨水量等信息是十分必要的。通过图形展示可让用户更直......
2018-07-15 18:33:13
23579
41
原创 跨网络数据库同步
本文主要是实现的原理,因为之前一直想不通怎么同步的,想得十分复杂。需求在不同的网络,部署了同一个应用,需要两边网络的数据保持一致,数据同步。数据库:mysql思路问题一:要实现数据库同步,首先想到了什么时候需要进行同步?答:数据发生改变时,数据库增删改。问题二:那么怎么知道数据库的数据发生了变化呢?答:通过触发器实现监听?问题三:跨网怎么实现同步呢?答:使用光闸发送数据。根据问题二,我百度搜索了一下,查找到了canal。canalcanal主要用途是基于 MySQL 数据库增量日志
2020-08-08 17:23:49
1828
1
原创 SpringbBoot2.0整合kafka
1 kafka安装1.1 Windows查看安装https://blog.youkuaiyun.com/github_38482082/article/details/821126412 启动kafka启动kafka内置的zookeeper.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties出现bindin...
2020-03-05 21:32:51
664
原创 Java8之并行数据处理与性能
博客内容是学习Java8实战书籍后进行总结。1 并行流如何实现并行流:可以通过对收集源调用parallelStream方法来把集合转换为并行流。什么是并行流:并行流就是一个把内容分成多个数据块,并用不同的线程分别处理每个数据块的流。1.1 将顺序流转换为并行流把流转换成并行流,从而让前面的函数归约过程(也就是求和)并行运行——对顺序流调用parallel方法:public ...
2020-01-12 11:13:38
329
原创 Java8之用流收集数据
//菜单List<Dish> menu = Arrays.asList( new Dish("pork", false, 800, Dish.Type.MEAT), new Dish("beef", false, 700, Dish.Type.MEAT), new Dish("chicken", false, 400, Dish.Type.ME...
2020-01-12 11:11:42
288
原创 Java8之流
博客内容是学习Java8实战书籍后进行总结。1 流流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,你可以把它们看成遍历数据集的高级迭代器。此外,流还可以透明地并行处理,无需写任何多线程代码。2 例子菜单根据卡路里过滤,排序,取出菜名public class Demo { public ...
2020-01-12 11:09:12
219
1
原创 Java8之lambda表达式
博客内容是学习Java8实战书籍后进行总结。1 解决过滤list的办法//过滤的行为接口public interface Predicate<T>{ boolean test(T t);}//过滤public static <T> List<T> filter(List<T> list, Predicate<T> p){...
2020-01-12 11:06:09
161
原创 全文检索之Lucene入门
在学校Lucene时,我们先提出两个问题:在数据库中我们是如何根据关键词查询到我们需要的数据?在文档中如word,网页等文件中如何根据关键词查询到我们需要的数据?1.分析问题问题1中,我们是通过select * from table where column like '%关键词%'就可以查询出我们需要的内容。像数据库存储的数据,有固定类型或者有固定长度的数据,为结构化数据。问题2...
2019-10-20 23:49:39
297
原创 小程序入门
1.注册小程序账号注册小程序账号注册完成后登陆小程序后填写小程序基本信息小程序appid和开发工具点击左侧开发>开发设置可以找到小程序对应的appid,在创建项目时会用到2.工具准备点击首页,点击普通小程序开发者工具跳转到小程序开发文档,在工具栏中点击微信开发者工具跳转到工具页面,根据具体情况选择对应的开发工具进行安装,下载后点击安装即可。3.开发工具的基本使用在打...
2019-09-24 00:10:19
442
原创 oracle数据库常用查询总结
1.分组做筛选:select A from table group by A having A like '%aa%'2.排序,倒序desc,默认为降序,不用写select * from table order by A desc3.值是另一个表的值select * from table where A in( select a from table_A)4.分组后统计次数,...
2019-01-24 15:41:12
537
原创 Spring配置Quartz定时任务
1.首先要编写一个任务类,定时需要干的事情,如下所示:2.写配置文件ApplicationContext.xml文件:<description>Quartz的配置</description> <!-- 定义一个任务 --> <bean id="mailJob" class="com.dml.controller.Job"&...
2018-09-14 09:18:11
239
原创 二、基于wifi控制的智能家居系统之项目效果图
这篇博客主要是展示项目的效果图和视频的简单演示,关于项目的简介请查看此篇文章一、基于wifi控制的智能家居系统之项目简介和设计方案说明说那么多原理和简介,不如先上图,不然太虚了,总要知道这个项目实现什么东东,然后这个东东我们可以学到什么。个人觉得图比文字更形象。 设计作品分为四个部分,硬件系统作品、手机客户端、服务器端和Web端。系统包括电灯、风扇、窗户的控制,以及采集温度、湿度和雨...
2018-07-21 18:57:08
8449
1
原创 Maven配置本地仓库
在MAVE_HOME/conf/settings.xml文件中配置本地仓库位置: eclipse与maven配置指定maven安装目录 User Setting配置 在eclipse中配置使用的maven的setting.xml文件,使用maven安装目录下的setting.xml文件。 注意:如果修改了 setting.xml文件需要点击上图中的“update settings”按钮
2018-03-04 18:24:00
1626
原创 Maven安装
1.安装1.1 下载下载 maven3.3.9 版本 ,将maven解压到一个不含有中文和空格的目录中1.2 maven解压后的目录结构bin目录 mvn.bat (以run方式运行项目)、 mvnDebug.bat(以debug方式运行项目 )boot目录 maven运行需要类加载器 conf目录 settings.xml 整个maven工具核心配置文件 lib目录 maven运行依赖ja
2018-03-04 18:08:40
251
原创 TCP协议发送文件小案例
服务端package com.dml.test;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class UploadServer { public static void main(String[] args) throws IOException {
2017-11-15 22:47:52
312
原创 多线程之案列(电影票)
1.使用的是synchronized 同步代码块SellTicketDemo2 package com.dml.demo2;public class SellTicketDemo2 { public static void main(String[] args) { SellTicket mt1 = new SellTicket(); Thread th1 =
2017-11-15 21:16:21
497
原创 多线程之知识总结
1.多线程(1)多线程:一个应用程序有多条执行路径 进程:正在执行的应用程序 线程:进程的执行单元,执行路径 单线程:一个应用程序只有一条执行路径 多线程:一个应用程序有多条执行路径 多进程的意义? 提高CPU的使用率 多线程的意义? 提高应用程序的使用率(2)Java程序的运行原理及JVM的启动是多线程的吗?
2017-11-15 20:46:15
385
原创 IO流(文件复制的方法)
1.使用字符流复制文件的5种方法package com.dml.io2;/** * 使用字符流的方法复制文件 */import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;public class Copy { p
2017-11-15 20:22:24
4059
1
转载 java基本数据类型包装类
基础数据类型包装类当一个程序要求交互式输入一个int类型的年龄时,从文本框中输入的结果肯定是String类型的。要在程序中进行相关操作,它必须先转换为int类型。因此可以使用数据类型的转换或强制转换,但这种转换方式太过简单,功能太少,因此java中提供了数据类型包装类的概念。数据类型包装类是指可以将数据转换成对象(包装),还可以从数据对象中取得数据(解包装)。相当于对数据包了一层皮,里面的内容不变,
2017-11-05 23:01:12
307
原创 Spring框架的第四天(ssh整合)
Spring框架的第四天案例一:SSH框架整合保存客户需求分析1. 案例一:SSH框架整合保存客户技术分析之SSH框架的整合技术分析之SSH三大框架需要的jar包1. Struts2框架 * struts-2.3.24\apps\struts2-blank\WEB-INF\lib\*.jar -- Struts2需要的所有jar包 * struts2-spring-p
2017-11-01 22:43:26
279
原创 Spring框架的第三天(AOP注解方式、JDBC模板、事务管理)
Spring框架的第三天今天内容1. Spring框架的AOP之注解的方式2. Spring框架的JDBC模板3. Spring框架的事务管理案例一:使用Spring框架的AOP技术对DAO层的功能进行增强案例一:使用Spring框架的AOP技术对DAO层的功能进行增强1. 使用Spring框架的AOP技术对DAO层的功能进行增强技术分析之:Spring框架的AOP技术(注解方式)1. 步骤
2017-11-01 17:53:33
538
原创 Spring框架第二天(IOC和AOP)
Spring框架第二天今天内容介绍1. Spring框架的IOC基于注解的方式2. Spring框架整合JUnit单元测试3. AOP的概述4. AOP的底层实现原理(了解)5. AOP功能基于AspectJ的配置文件方式技术分析之Spring框架的IOC功能之注解的方式Spring框架的IOC之注解方式的快速入门1. 步骤一:导入注解开发所有需要的jar包 * 引入IOC容器必须
2017-11-01 17:18:37
356
原创 Spring框架第一天(入门,编写配置文件)
Spring框架第一天Spring框架的学习路线1. Spring第一天:Spring的IOC容器之XML的方式,Spring框架与Web项目整合2. Spring第二天:Spring的IOC容器之注解的方式,Spring的AOP技术3. Spring第三天:Spring的事务管理、Spring框架的JDBC模板4. Spring第四天:SSH三大框架的整合今天内容概述1. Spring框架
2017-11-01 16:46:05
1506
原创 Struts2第三天 (OGNL、值栈)
Struts2第三天课程回顾:Struts2框架的第二天1. Servlet的API * ActionContext对象 * ServletActionContext对象2. 结构类型的跳转 * 全局结果 * 局部结构,type属性3. 数据的封装 * 属性驱动方式 * 模型驱动方式4. 拦截器(自定义拦截器)今天的课程内容1. OGNL表达式(了解
2017-11-01 16:19:48
548
原创 Struts2的第二天(Action接收请求参数)
Struts2的第二天Struts2的第二天的内容1. Struts2框架中的Servlet的API的使用2. Struts2中Action接收请求参数3. Struts2中自定义拦截器案例一:使用Struts2作为WEB层完成客户的新增功能需求分析1. 原来是使用Servlet作为WEB层框架,现在需要使用Struts2作为WEB层完成客户的新增功能技术分析之在Struts2框架中使用Se
2017-11-01 15:51:11
719
原创 Struts2第一天(入门)
Struts2第一天Struts2的学习路线1. Struts2的入门:主要是学习Struts2的开发流程(Struts2的开发流程、常见的配置、Action类的编写)2. Struts2的Servlet的API、参数封装和拦截器3. Struts2的值栈和OGNL表达式今天的课程内容1. Struts2框架的概述2. Struts2的快速入门3. Struts2的运行流程4. Stru
2017-11-01 12:04:11
337
原创 Hibernate框架的第四天(查询方式和策略)
Hibernate框架的第四天今天内容1. Hibernate的查询方式2. Hibernate的查询策略案例一:使用Hibernate完成查询所有联系人功能需求分析1. 完成所有的联系人的查询技术分析之Hibernate框架的查询方式1. 唯一标识OID的检索方式 * session.get(对象.class,OID)2. 对象的导航的方式3. HQL的检索方式 * Hib
2017-11-01 11:39:48
215
原创 Hibernate框架第三天(关联映射关系)
Hibernate框架第三天案例一:完成CRM的联系人的保存操作需求分析1. 因为客户和联系人是一对多的关系,在有客户的情况下,完成联系人的添加保存操作技术分析之Hibernate的关联关系映射之一对多映射(重点)1. JavaWEB中一对多的设计及其建表原则2. 先导入SQL的建表语句 * 创建今天的数据库:create database hibernate_day03; * 在
2017-11-01 11:10:59
368
原创 Hibernate框架第二天(一级缓存、Query和Criteria查询接口)
Hibernate框架第二天区分自然主键和代理主键1. 创建表的时候 * 自然主键:对象本身的一个属性.创建一个人员表,每个人都有一个身份证号.(唯一的)使用身份证号作为表的主键.自然主键.(开发中不会使用这种方式) * 代理主键:不是对象本身的一个属性.创建一个人员表,为每个人员单独创建一个字段.用这个字段作为主键.代理主键.(开发中推荐使用这种方式)2. 创建表的时候尽量使用代理
2017-10-30 17:39:44
347
原创 Hibernate框架第一天(入门)
Hibernate框架第一天Hibernate框架的学习路线 * 第一天:主要是学习框架的入门,自己搭建框架,完成增删改查的操作 * 第二天:主要学习一级缓存、事务管理和基本的查询 * 第三天:主要学习一对多和多对多的操作等 * 第四天:基本查询和查询的优化技术分析之Hibernate框架的概述Hibernate框架的概述1.
2017-10-30 16:34:23
373
原创 使用POI导出Excel表
1.导包2.源码public class POITest { public static void main(String[] args) throws Exception { //1.创建工作薄 Workbook wb = new HSSFWorkbook(); //2.创建一个工作表Sheet Sheet sheet = wb
2017-10-29 22:09:51
283
转载 如何书写UserCase
什么是Use Case 用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现。是后期时序图和实际开发的重要依据。也可以对作为项目估算的依据,以及根据UC复杂度和开发周期来衡量开发人员的工作效率。因此UC的书写规范及其重要,就工作用的一些经验,比如书写格式、书写内容及其注意事项与大家分享。 大纲图: 一、前期准备 1).对用户的问题要有非常深刻完善的理解 2). 确保能够解决用
2017-10-28 18:09:47
8399
转载 UML时序图总结
序列图主要用于展示对象之间交互的顺序。 序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。 消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。 序列图中涉及的元素: 1. 生命线:
2017-10-28 18:02:07
1042
原创 配置shiro
什么是shiroApache Shiro是Java的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。 准备工作maven工程的配置<!-- shiro --> <!-- apache shiro dependencies --> <dependency> <group
2017-10-16 15:52:34
401
转载 Linux下修改Oracle监听地址
lisenter.ora 目录在/opt/oracle/11g/network/adminLISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.111.
2017-10-14 18:20:11
2487
原创 在Linux系统安装solr
其实在Linux下安装solr和在Windows下安装步骤是一样的,只是换做了命令而已。1.Solr的下载从Solr官方网站(http://lucene.apache.org/solr/ )下载Solr4.10.3,根据Solr的运行环境 Linux下需要下载lucene-4.10.3.tgz windows下需要下载lucene-4.10.3.zip。2.运行环境solr 需要运行在一个Ser
2017-09-30 00:11:15
297
转载 SolrException: Index locked 和 Error opening new searcher 最终解决方案
SolrCore Initialization Failures paper: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Index locked for write for core paper question: org.apache.solr.common.SolrExcepti
2017-09-29 22:43:49
1130
原创 SpringMvc整合mybatis和简单参数绑定
通过对SpringMvc的入门程序简单的学习,接下来就学习SpringMvc整合mybatis。 整合目标:控制层采用springmvc、持久层使用mybatis实现。 实现商品查询列表,从mysql数据库查询商品信息。1.jar包包括:spring(包括springmvc)、mybatis、mybatis-spring整合包、数据库驱动、第三方连接池。 2.ssm整合思路1.Dao层
2017-09-10 20:57:09
620
原创 SpringMvc简单入门程序
1. springMvc:是一个表现层框架,作用:就是从请求中接收传入的参数,将处理后的结果数据返回给页面展示2. 框架结构3. 组件说明以下组件通常使用框架提供实现: 1. DispatcherServlet:前端控制器 用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet
2017-09-10 20:19:28
387
原创 Mybatis逆向工程
使用官方网站的mapper自动生成工具mybatis-generator-core-1.3.2来生成po类和mapper映射文件。作用:mybatis官方提供逆向工程,可以使用它通过数据库中的表来自动生成Mapper接口和映射文件(单表增删改查)和Po类.导入的jar包有:第一步:generator.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYP
2017-09-08 16:32:18
2192
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人