- 博客(326)
- 资源 (3)
- 收藏
- 关注
转载 问题描述最大子段和问题:蛮力、递归及动态规划
问题描述求一个序列的最大子段和即最大连续子序列之和。例如序列[4, -3, 5, -2, -1, 2, 6, -2]的最大子段和为11=[4+(-3)+5+(-2)+(-1)+(2)+(6)]。1. 蛮力算法思想:从序列首元素开始穷举所有可能的子序列。 代码示例(C++):#include<iostream>using namespace std;int MaxSubsequenceSum(const int array[], int n){ int tempSum
2020-08-11 19:54:59 513
转载 PDF开源库选择
对于我们开发人员来说,我们最关注的PDF SDK,只要有PDF SDK那么就能用程序来创建、修改和展示PDF文件。有这样一个现象就是:PDF读操作,免费编辑/创建,收费相信大家也能感受到了,平时我们都是用的Adobe Reader吧,阅读免费的,但是编辑就是要用收费软件Adobe Acrobat Pro。这些阅读器都是对应有PDF SDK,比较著名的两款软件是Adobe Reader和Foxit Reader(Adobe Reader和和Foxit Reader个人感觉比较类似O...
2020-06-22 15:28:38 4045
转载 entity、bo、vo、po、dto、pojo的区别
Entity最常用实体类,基本和数据表一一对应,一个实体一张表。Bo(business object)代表业务对象的意思,Bo就是把业务逻辑封装为一个对象(注意是逻辑,业务逻辑),这个对象可以包括一个或多个其它的对象。通过调用Dao方法,结合Po或Vo进行业务操作。形象描述为一个对象的形为和动作,当然也有涉及到基它对象的一些形为和动作。比如处理一个人的业务逻辑,该人会睡觉,吃饭,工...
2019-11-05 19:23:16 446
原创 http post和get的区别
一、http协议简介HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、返回响应信息、关闭连接。二、两种 HTTP 请求方法:GET 和 POSTG...
2019-04-24 18:03:11 256
转载 KMP算法
什么是KMP算法:KMP是三位大牛:D.E.Knuth、J.H.Morris和V.R.Pratt同时发现的。其中第一位就是《计算机程序设计艺术》的作者!!KMP算法要解决的问题就是在字符串(也叫主串)中的模式(pattern)定位问题。说简单点就是我们平时常说的关键字搜索。模式串就是关键字(接下来称它为P),如果它在一个主串(接下来称为T)中出现,就返回它的具体位置,否则返回-1(常用手段...
2019-04-21 20:21:44 175
转载 设计模式-装饰者模式(Decorator Pattern)
此设计模式遵循的设计原则之一:类应该支持扩展,而拒绝修改(Open-Closed Principle)装饰者模式简述装饰者模式通过组合的方式扩展对象的特性,这种方式允许我们在任何时候对对象的功能进行扩展甚至是运行时扩展,而若我们用继承来完成对类的扩展则只能在编译阶段实现,所以在某些时候装饰者模式比继承(inheritance)要更加灵活。装饰者模式具有的一些特征1,装饰...
2019-04-12 18:43:45 383
转载 localStorage使用总结
一、什么是localStorage、sessionStorage在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。 二、localStorag...
2018-11-07 10:38:13 364
转载 数据结构_图论
图的概念图是一种非线性的数据结构,一个图中有两类东西,一种是结点,一种是边.我们用V这个集合来表示节点(vertex),还需要另一个集合来存储所有的边,我们用E来表示(Edge),那么一个图就可以表示为:G=(V,E);带箭头的称为有向图,否则称为无向图.如果一个图的任意两个结点之间有且只有一条边,则称此图为无向完全图,若任意两个结点之间有且只有方向相反的两条边,则称为有向完全图.度是针对...
2018-09-06 20:24:43 422
转载 Junit测试多线程
遇到问题曾今在开发的过程遇到一个问题,当时有一个服务是群发邮件的,由于一次发送几十个上百个,所以就使用了多线程来操作。在单元测试的时候,我调了这个方法测试下邮件发送,结果总是出现莫名其妙的问题,每次都没有全部发送成功。后来我感觉到启动的子线程都被杀掉了,好像测试方法一走完就over了,试着在测试方法末尾让线程睡眠个几秒,结果就能正常发送邮件。分析解决感觉这个Junit有点猫腻,...
2018-08-22 15:26:33 3443 1
转载 Spark:基本架构及原理
Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势:Spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)...
2018-07-09 09:26:01 334
转载 Android开发之MediaRecorder类详解
手机一般都有麦克风和摄像头,而Android系统就可以利用这些硬件来录制音视频了。为了增加对录制音视频的支持,Android系统提供了一个MediaRecorder的类。该类的使用也非常简单,下面让我们来了解一下这个类:一、类结构:java.lang.Object? android.media.MediaRecorder二、类概述:用于录制音频和视频的一个类。三、状态图:说明:与MediaPlay...
2018-06-03 14:36:36 4359
转载 Android高效加载大图、多图解决方案,有效避免程序OOM
本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training/displaying-bitmaps/index.html高效加载大图片我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。...
2018-06-03 11:02:44 236
转载 静态资源服务器(部署前端项目)
前端开发中,经常遇到有些场景需要用到服务器环境,例如AngularJS中的路由,或者是模拟ajax获取数据等需求时,这个时候并不需要考虑到服务端逻辑,只是搭建简单的静态资源服务,因此解决方法有很多,下面介绍几种简单快捷的常用方式:使用http-server如果你安装了node,那么http-server就是个不错的选择,只需要一行命令就可以快速启动。安装:npm install -g http-s...
2018-05-28 10:52:03 11686
转载 分库分表的基本思想
分库分表的基本思想Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库...
2018-05-23 15:49:53 288
转载 数据集市
1. 什么是数据集市?数据集市与数据仓库的区别? 数据仓库(Data Warehouse) 是一个面向主题的(Subject Oriented) 、集成的( Integrate ) 、相对稳定的(Non -Volatile ) 、反映历史变化( Time Variant) 的数据集合用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型...
2018-05-23 15:26:10 19701
转载 java:comp/env 解释
关于获取数据源的语法,大体有(javax.sql.DataSource) ctx.lookup ("java:comp/env/XXX")和(javax.sql.DataSource) ctx.lookup("XXX")两种写法,好多人以为这两种写法是相同的,以为都是通过JNDI来获取数据源。其实java:comp/env和 JNDI是不同的,java:comp/env 是环境命名上下文(envi...
2018-05-11 10:48:38 3337
原创 java查询数据导出excel并返回给浏览器下载
maven地址为<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version></dependency>其中oo
2018-05-08 14:30:00 6212 1
转载 数据导出select...into outfile
1 简介 SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA …INFILE语句恢复数据。但是这种方法只能导出或导入数据的内容,不包括表的结构,如果表的结构文件损坏,则必须先恢复原来的表的结构。 也可以将查询结果保存在变量中。2 语法结构[sql] view plaincopySELECT [INTO OUTFILE 'file_name'...
2018-05-06 11:01:05 2920
转载 SSH连接远程服务器,并实现文件上传下载
MAC本身提供了SSH功能,配合VIM编辑器对编程十分有帮助。使用ssh连接远程主机ssh username@192.168.100.100其中,username是登录用户名,@后接ip地址,点击确定之后输入密码即连接到远程主机。要查看当前有多少个处于登录状态的用户,可以使用who命令查看。1234使用scp命令实现上传下载1、从服务器上下载文件 scp username@servernam...
2018-05-04 14:50:29 9724
转载 Spring MVC 定时任务注解说明
实例:Task类:Java对应代码: 1234567891011121314151617181920package com.axb.cheney.task; import java.sql.ResultSet; import java.sql.SQLException; import org.springframework.scheduling.annotation.Scheduled; ...
2018-05-02 15:52:36 746
转载 单系统登录机制
GitHub:https://github.com/sheefee/simple-sso一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资...
2018-04-27 15:50:46 215
转载 seq命令
seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、宽度、分割符号进行控制语法: [1] seq [选项] 尾数 [2] seq [选项] 首数 尾数 [3] seq [选项] 首数 增量 尾数选项: -f, --format=格式 -s, --separator=字符串,使用指定的字符串分割数字...
2018-04-25 09:28:10 285
转载 awk常见操作
awk的基本结构12345678910111213awk 'BEGIN{} pattern {} END {}'#pattern {} 部分是针对每行进行循环处理的,有pattern表示对匹配到的行处理,没有pattern表示对所有行处理<br>[root@test88 etc]# echo -e "line1\nline2" | awk 'BEGIN {print "Start"} ...
2018-04-25 09:23:44 236
转载 Spring Mvc过滤器Filter实现登陆验证
过滤器实现用户登陆判断,如果用户登陆成功跳转到首页,如果用户未登陆,跳转到登陆页面。 1.用户登陆 首先我们天添加两个页面,一个是登陆页面login.jsp,一个是登陆成功后的index.jsp.在login.jsp中我们添加两个用户名和密码文本输入文本框 index.jsp [html] view plain copy<%@ page language="java" contentTy...
2018-04-16 23:48:45 2323
转载 Java集合(实现类线程安全性)
1、集合和Map 下图是Java集合的Collection集合体系的继承树: 下图是Java的Map体系的继承树: 对于Set、List、Queue和Map四种集合,最常用的是HashSet、TreeSet、ArrayList、ArrayQueue、LinkedList和HashMap、TreeMap等实现类。 其中Vector、HashTable、Properties是线...
2018-04-11 23:48:44 1953
转载 Docker详细介绍
一、Docker 简介Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 -- Docker HubDocker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布你的 Docker...
2018-04-11 23:46:54 301
转载 Callable异步原理简析
Callable异步执行,应该不会陌生,那么在java中是怎么用的呢?又是如何实现的?下面我们循序渐进,慢慢分析。 先看一个例子,实现Callable接口,进行异步计算:package com.demo;import java.util.concurrent.*;public class Demo { public static void main(String[] args) th...
2018-04-11 23:43:48 556
转载 三种存储类型比较-文件、块、对象存储
块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。 首先,我们介绍这两种传统的存储类型。通常来讲,所有磁盘阵列都是基于Block块的模式(DAS),而所有的NAS产品都是文件级存储1、块存储 ...
2018-04-11 23:42:23 629
转载 heartbeat实现ip漂移
此文章是实现多台apache+tomcat集群功能的操作的部分之一-------使用Heartbeat实现IP飘移(虚拟机vm中部署)使用Heartbeat实现”双机热备”或者称为“双机互备”heartbeat的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路(本次测试使用网络)和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当...
2018-04-11 23:40:26 840
转载 openfire+spark+smack实现即时通讯
最近看到一个基于openfire的即时通讯技术openfire+spark+smack实现即时通讯http://www.eoeandroid.com/thread-282925-1-1.html最近公司项目需要用到即时通讯功能,经过调研发现openfire+spark+smack可以实现。在网上找了很久,资料都十分有限,即使有些朋友实现了也说的不清不楚。于是决定自己
2018-04-08 21:05:14 384
转载 深入浅出SOA
SOA是什么?SOA全英文是Service-Oriented Architecture,中文意思是中文面向服务编程,是一种思想,一种方法论,一种分布式的服务架构(具体可以百度)。 用途:SOA解决多服务凌乱问题,SOA架构解决数据服务的复杂程度,同时SOA又有一个名字,叫做服务治理。 通过一个系统我们看一下架构的演变过程(由统一到分布式):
2018-04-07 23:24:34 390
转载 什么是RESTful
老婆经常喜欢翻看我订阅的技术杂志,她总能从她的视角提出很多有趣的问题。一个悠闲的周日下午,她午觉醒来,又习惯性的抓起这个月的杂志,饶有兴趣地看了起来。果不其然,看着看着,她又对我发难了,“Restful是什么呀,老公?是restaurant的形容词吗,突然就觉得好饿了啊......”作为一个合格的程序员,我一直把能够将一项技术讲给老婆听,并且能给她讲懂,作为我已经掌握了这项
2018-04-07 23:14:08 170
转载 Spring线程池ThreadPoolTaskExecutor配置及详情
1. ThreadPoolTaskExecutor配置 1 spring thread pool executor --> 2 bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> 3 线程池维
2017-11-16 16:55:21 470
转载 java i++ 并非原子操作的解决方法——用AtomicInteger
以下代码只在运行结束后打印结果[java] view plain copypublic class Test1 { private static int a = 0; public static void main(String[] args) throws InterruptedException{
2017-11-07 15:58:10 1161
转载 操作系统原理
首先介绍主要的的四种磁头调度算法(一)先来先服务算法(FCFS)1、算法思想:按访问请求到达的先后次序服务。2、优点:简单,公平。3、缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。4、例子:假设磁盘访问序列:98,183,37,122,14,124,65,67。读写头起始位置:53。求:磁头
2017-11-07 10:12:36 465
转载 操作系统原理
首先介绍主要的的四种磁头调度算法(一)先来先服务算法(FCFS)1、算法思想:按访问请求到达的先后次序服务。2、优点:简单,公平。3、缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。4、例子:假设磁盘访问序列:98,183,37,122,14,124,65,67。读写头起始位置:53。求:磁头
2017-11-07 10:11:55 2518
转载 Java并发包中Lock的实现原理
1. Lock 的简介及使用 Lock是java 1.5中引入的线程同步工具,它主要用于多线程下共享资源的控制。本质上Lock仅仅是一个接口(位于源码包中的java\util\concurrent\locks中),它包含以下方法//尝试获取锁,获取成功则返回,否则阻塞当前线程void lock(); //尝试获取锁,线程在成功获取锁之前被中断,则放弃获取锁,抛
2017-11-05 22:23:17 284
转载 Executor多线程框架
Java使用线程完成异步任务是很普遍的事,而线程的创建与销毁需要一定的开销,如果每个任务都需要创建一个线程将会消耗大量的计算资源,JDK 5之后把工作单元和执行机制区分开了,工作单元包括Runnable和Callable,而执行机制则由Executor框架提供。Executor框架为线程的启动、执行和关闭提供了便利,底层使用线程池实现。使用Executor框架管理线程的好处在于简化管理、提高效率,
2017-11-02 16:47:14 323
转载 Java数据结构与算法解析(十三)——优先级队列
在很多应用中,我们通常需要按照优先级情况对待处理对象进行处理,比如首先处理优先级最高的对象,然后处理次高的对象。最简单的一个例子就是,在手机上玩游戏的时候,如果有来电,那么系统应该优先处理打进来的电话。在这种情况下,我们的数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。这种数据结构就是优先级队列(Priority Queue) 。定义优先级队
2017-10-26 12:23:04 247
转载 Java数据结构与算法解析(十二)——散列表
散列表概述散列表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。散列表的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键。散列的查找算法有两个步骤: 1
2017-10-26 12:22:11 2685
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人