自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

windflybird

思想最性感

  • 博客(48)
  • 资源 (6)
  • 收藏
  • 关注

原创 基于凯撒密码和维吉尼亚密码的改进密码算法

设计要求: 利用古典密码算法的思想,设计一种新密码算法,使用编程语言对上述密码算法进行实现,并利用差分密码分析方法对设计的密码算法进行分析。系统环境: ubuntu16.4系统、Java。实现描述: 基于凯撒密码和维吉尼亚密码的改进密码算法。 凯撒密码是一种简单的替换加密的技术,我们由单一的凯撒密码可以扩展出多表密码,...

2018-07-07 23:38:35 5161

转载 @Transactional中的propagation属性

@Transactional中的propagation属性在Spring的事务管理中,我们可以使用@Transactional这一annotation来对事务进行声明式的设定。具体而言,就是在类或者方法前添加@Transactional并传入属性参数以获取所需要的Transaction特性。Spring中的@Transactional有5个属性:Propagation、Isolation、Rol...

2019-09-30 15:33:41 21240 1

原创 记录几个常见的笔试题

一、局部代码块的加载时机与顺序 答案: D A C B C D 解释: 类的加载过程分为:加载->验证->准备->解析->初始化 静态代码块属于类的变量的一部分,在类的加载阶段会被执行调用,是最先被加载的,普通的局部代码块,属于实例对象,当new出对象的时候会率先于构造函数的方法而执行,具体对应于初始化过程中。所以正确的加载顺序就是答案所示了。...

2018-09-09 22:47:59 1210

原创 小熊吃糖与Map排序问题

拼多多校招题: 小熊吃糖时间限制:1秒空间限制:32768K有n只小熊,他们有着各不相同的战斗力。每次他们吃糖时,会按照战斗力来排,战斗力高的小熊拥有优先选择权。前面的小熊吃饱了,后面的小熊才能吃。每只小熊有一个饥饿值,每次进食的时候,小熊们会选择最大的能填饱自己当前饥饿值的那颗糖来吃,可能吃完没饱会重复上述过程,但不会选择吃撑。现在给出n只小熊的战斗力和饥饿值,并且给出m颗糖能填...

2018-09-01 16:41:12 378

原创 剑指offer算法系列

大数相加 实现任意两个整数的加法当数字大到超过long的范围后是会发生溢出的,所以在这里把它当作字符串进行处理。按照正常的思路,我们自己在计算数字相加的时候,从低位开始,每次记录当前的进位,与下两个数字相加。 代码如下:public static String BigNumberPlus(String one,String two){ int lengthOne =...

2018-08-19 21:17:41 324

原创 系统优化问题

头条笔试设计题 今日头条会根据用户的浏览行为、内容偏好等信息,为每个用户抽象出一个标签化的用户画像,用于内容推荐。用户画像的存储、高并发访问,是推荐系统的重要环节之一。现在请你给出一个用户画像存储、访问方案,设计的时候请考虑一下几个方面:用户画像如何存储 如何保证在线高并发、低延迟的访问 机器宕机、负载均衡问题 如果用户增长很快,在你的方案下,该如何扩容解决方案: 一、建立用户关...

2018-08-17 23:32:12 861

原创 DispatcherServlet(前端控制器)访问顺序和url匹配规则

前端控制器访问流程图: dispatcher代码导入: <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class&am

2018-07-15 16:56:27 5482

原创 经典算法问题之指针碰撞系列

注释(Q:question、A:answer、C:code) Q(1):数组里面只有0,1,2,排成顺序的数组 A:最简单的方法是遍历(简单到不敢相信,当然这不是最好的方法); 三路快排的方法。 C:/**三路快排 * 数组里面有3种数字,0,1,2 * 排成顺序 * 时间复杂度 o(n) * 空间为 o(1) */public static void main...

2018-06-06 17:16:17 4706

转载 进程间通信与线程间通信

【说明:此篇是转载,感谢原创】序现代操作系统的主要特点是多用户和多任务,也就是程序的并行执行,windows如此linux也是如此。所以操作系统就借助于进程来管理计算机的软、硬件资源,支持多任务的并行执行。要并行执行就需要多进程、多线程。因此多进程和多线程间为了完成一定的任务,就需要进行一定的通信。而线程间通信又和进程间的通信不同。由于进程的数据空间相对独立而线程是共享数据空间的,彼此通信...

2018-05-05 18:34:24 2702 1

原创 静态方法和非静态方法的调用限制以及原因

static描述 生命周期:java虚拟机在加载类的过程中为静态变量分配内存空间,随着类的卸载而销毁,并且释放内存空间。 存储位置:存储在方法区中,属于类的变量,为所有实例所共有。 相对于非静态方法而言,静态方法更早出现。由于不能调用一个不存在的东西,所以静态方法不能调用非静态方法。非静态描述 非静态方法和变量(如局部变量等)存在于栈中,是线程独立的,属于...

2018-05-03 21:31:20 4101

原创 两个栈(数据栈+空栈)如何实现排序?

分析: 无论是从小到大排序,还是从大到小排序,重要的是按照层次找出最大(最小数)。 数据栈 stack 辅助栈 help 设置游标数cur每次help中的数比cur大,则弹出,然后再push进cur(小)。 一次循环,也就是help中的都时push进(从小到大的数,即小数压底)。 直到stack弹空,在将help中的数压入stack,便完成了小数先输出的任务(后进先出)代码如下...

2018-05-03 20:28:41 4183

转载 linux 通过哪个命令可以查看某个服务及其端口、进程号

netstat/lsof netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况 -a 显示一个所有的有效连接信息列表(包括已建立的连接,也包括监听连接请求的那些连接) -n 显示所有已建立的有效连接 -t tcp协议 -u udp协议 -l 查询正在监听的程序 -p 显示正在使用socket的程序识别码和程序名称 例如:...

2018-05-01 17:30:56 39862 1

原创 流与文件

输入流:inputStream(读入数据)public abstract class InputStream implements Closeable {...}public interface Closeable extends AutoCloseable {...}dataInputStream支持所有的java类型数据的读入工作;FileInputStream,文件...

2018-05-01 17:12:04 2537

原创 java之反射与泛型

反射:程序运行期间,java运行时系统始终为所有对象维护一各被称为运行时的类型标识,跟踪每个对象所属的类。虚拟机利用运行时类型选择相应的方法执行。eg:Employee e;Class cl = e.getClass();// try{ String s ="java.util.Date"; Object o =...

2018-04-26 22:39:53 2612

原创 二叉树的构建 --- 已知(前序,中序,后序)中两个条件

问题如下输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。分析 – 已知前序和后序 对于二叉树反向求解,认准递归是王道public class TreeNode{ private int ...

2018-04-24 19:26:01 3968

转载 mysql四种常用的搜索引擎

总述: 如果要提供提交、回滚、崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择如果数据表主要用来插入和查询记录,读操作明显多于写操作,存储量较大,则MyISAM引擎能提供较高的处理效率如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果...

2018-04-20 10:14:46 21386 3

原创 java多线程

对原子性和可见性的理解原子性:操作的完整性,要么全部执行完,要么不执行。 例如:count++; 这个其实是分为三个步骤完成的,“读改写”,在多线程环境下尤其要注意其同步问题,否则会造成脏数据等问题。 解决方法:可以通过atomic来保证变量的原子性。可见性:一个写操作所做的修改,对于读数据来说是可见,具体的说就是读数据,读的是共享收据块里面的数据。 常见的实现手段有,volati...

2018-04-19 09:44:27 2589

原创 java建立高效、可伸缩性缓存

缓存 写入前,先排重,同时要防止重复写(两个线程同时写入),或者是重复读(已有线程写入,正在计算,另一个线程可以不必继续访问,直接等待结果就好)。关键点: 1- ConcurrentHashMap分段锁。 2- Callable启动线程,返回Future对象。代码:public interface Computable<K,V> { V compute...

2018-04-18 23:42:49 5260

原创 String、StringBuilder、StringBuffer的深入解析

String不同于基本的数据类型(byte,boolean,char,short,int,long,float,double,(void));public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is us...

2018-04-16 23:49:25 2708

转载 springMvc处理请求流程

简书描述的很精简 SpringMVC核心处理流程:1、DispatcherServlet前端控制器接收发过来的请求,交给HandlerMapping处理器映射器2、HandlerMapping处理器映射器,根据请求路径找到相应的HandlerAdapter处理器适配器(处理器适配器就是那些拦截器或Controller)3、HandlerAdapter处理器适配器,处理一些功能请求...

2018-04-16 16:41:46 2691

原创 悲观锁和乐观锁实现 以及(组合)索引描述

数据库设置级别 SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ 或者 select @@tx_isolation;悲观锁: 在关系数据库管理系统里,悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)是一种并发控制的方法。它可以阻止一个事务以影响其他用户的方式来修...

2018-04-15 17:34:43 3010

原创 四大范式

主关键字:主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。数据库四大范式:第一范式:每一列不可分割。第二范式:满足1NF基础上,非主属性必须完全依赖于主属性(非码属性必须完全依赖于候选码。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性)第三范式:在2NF基础上,任何非主属性不依赖于其他非主属性(在2NF基础上,消除传递依赖)巴...

2018-04-15 11:28:53 5968

转载 b树和b+树的区别。

b树也叫做b-树(不一定是二叉的)。 b-树的特点: M为树的阶数,B-树或为空树,否则满足下列条件: 定义任意非叶子结点最多只有M个儿子;且M>2; 2.根结点的儿子数为[2, M]; 3.除根结点以外的非叶子结点的儿子数为[M/2, M]; 4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字,根节点至少一个关键字);b+树常应用于数据库和操作系...

2018-04-10 09:19:56 15999

转载 sql防注入

sql语句:通过SQL语句,实现无帐号登录,甚至篡改数据库。SQL注入攻击实例比如在一个登录界面,要求输入用户名和密码: 可以这样输入实现免帐号登录: 用户名: ‘or 1 = 1 – 密 码: 点登陆,如若没有做特殊处理,那么这个非法用户就很得意的登陆进去了.(当然现在的有些语言的数据库API已经处理了这些问题) 这是为什么呢? 下面我们分析一下: 从理论上说,后台认证程序中...

2018-04-09 13:20:45 2944

原创 juc-了解一下

关于juc并发包 拆分为一下几个大的部分:1:atomic包 基本类型的原子性封装,如AtomicInteger、AtomicBoolean、AtomicLong。等等2:locks包 里面主要是重入锁和读写锁。 ReentrantLock、ReentrantReadWriteLock、ReadWriteLock、lock、Condition(线程通信)等等3:线程池 Exe...

2018-04-07 17:30:58 3484

原创 linkList解二叉树的锯齿形层次遍历

问题描述。 给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行) 您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵二叉树 {3,9,20,#,#,15,7},3/ \ 9 20 / \ 15 7 返回其锯齿形的层次遍历为:[ [3], [20,9], [15,7] ]...

2018-04-07 14:03:13 2549

原创 java-多线程与同步问题

总的来说:java多线程最终都是回归到了Thread和Runnable。常见的多线程实现方式: 1:实现Runnable接口,复写run方法。最后调用的时候,还是通过Thread的start来启动。2:继承Thread方法,复写run方法。鉴于java的单继承方式,直接继承Thread用的较少。3:实现Callable< T >接口,复写call方法,注意,此方法与run...

2018-04-07 13:35:11 2862

原创 java-ReentrantLock(重入锁)+Condition-解决生产者,消费者模型

说在前面的话:此篇实质是为了探讨ReentrantLock+Condition的应用场景,借用生产者消费者模型来解释。重点实现线程间通信juc之ReentrantLock+Condition,await、signal方法(对比)synchronized+Object的wait、notify。ReentrantLock对比snchronized ReentrantLock支持公平锁和非...

2018-04-06 17:53:12 4051

原创 spring Boot的开发实现

spring Boot的开发实现spring Framework基于spring的javaee框架。 sping Boot则是基于spring Framework5.0以上之上快速构建spring的应用。 支持java8有关新特性Web Flux 关于Web Flux: 支持函数编程:java 8 Lambda(匿名函数) 响应式编程:reactive ...

2018-03-11 18:13:46 2590

原创 git远程仓库时 Permission denied

在git pull origin master时输入密码错误观察上一步发现 先删除远程git仓 git remote rm origin 即可

2017-09-15 10:32:47 5098

原创 通过git-bash提交项目代码

git-bash命令行操作步骤:<1>:cd 切入项目所在目录<2>:git status 查看项目的分层结构文件<3>:git add . 添加当前所有的文件目录<4>:git commit -am “common部分” 生成一个commit,为提交部分代码取名<5>:git push 推送到服务器...

2017-09-07 23:20:22 2952

原创 SSM利用mybatis-generator自动生成代码-表对应的类和配置文件

生成代码需要的文件和jar包: 下载地址:http://download.csdn.net/detail/windflybird/9822991<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DT...

2017-04-23 17:39:18 3917 1

原创 如何给myeclipse下的tomacat配置新的jdk环境

-》windows-》preference-》installed jre》进行配置 项目配置问题:One or more constraints have not been satisfied. Dynamic Web Module 3.0 requires Java 1.6 or newer. 进入propertites-》pproject facet-》配置java环境

2017-04-10 16:53:43 661

原创 mysql问题#1146 - Table 'xxx.xxxxx' doesn't exist

这次出现这个问题是由于博主手贱,误删mysql重要文件所致的. 在重装mysql后,进入mysql navicat发现之前的数据库中的表都无法使用了,尴尬探索之际发现,这个是由于重新安装mysql,导致其ibdata1更新无法导入data数据包中的数据库。所幸博主比较机灵,在重装mysql之前对其data包有进行备份,hahahahahahahaha………*在博主替换了D:\ProgramDa

2017-03-17 11:15:06 7979

原创 三层架构理论篇

三层架构基本理论三层架构和MVC的区别MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),即为MVC。三层架构是将整个业务应用划分为: 表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。 1、表现层(UI):就是展现给用户的界面。   2、业务逻辑层(BLL):是对数据层的操作,对数据业务逻辑处理

2017-03-11 11:16:14 799

转载 javaee学习

一、Java核心 这是学习Java的基础,掌握程度的深浅甚至直接影响后面的整个学习进程。Java的核心主要包括几个部分: 1、初级的有语法基础、面向对象思想。 学习任何一门语言语法都是必须的,因为Java的接近自然语言,也是一种相对比较容易学的语言。同时面向对象编程更是其核心思想,要理解其实只要记住一句话就行了,那就是:一切皆是对象。 2、中级的IO流、多线程、反射及注解等。

2017-02-26 13:13:27 320

转载 javaweb三大框架SSH解读

javaweb三大框架SSH解读来自:http://blog.csdn.net/xue__dong/article/details/168561251.MVC三层架构:模型层,控制层和视图层。模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来 对数据库进行操作;控制层,用Struts框架来连接数据层和视图层的,接收、处理、发送数据并控制流程;视图

2017-02-22 17:04:23 477

原创 myeclipse常见问题和解决方案

myeclipse的使用常会因为常见问题在tomcat的启动和配置上1:未经过热部署的myeclipse可以通过remove,和clear来重启tomacat 2:在项目配置更新的时候可以通过fresh来同步更新 3:检查项目所用数据库的状态,保持同步启动,可以在管理中查看服务,若关闭,可以手动开启

2017-01-13 11:31:08 743

转载 JFinal数据库配置

来自简书详细JFinal初体验之操作数据库上(四 )来自csdnrenderJson用法myeclipse使用更换配置可fresh键多次运行,清空tomacat,用clear键

2017-01-12 23:19:32 1282

原创 二叉树的建立,从动态二叉链表转化为静态二叉链表

动态二叉链表typedef char ElemType;typedef  struct BiNode{ElemType data;struct  BiNode *lchild;   struct BiNode *rchild;}BiNode,*Bitree;typedef struct{ElemType data;  int lc

2016-11-30 23:20:24 5096 2

支付宝RSA加密签名验签工具

支付宝官方RSA加密签名验签工具

2017-07-27

谷歌json包

转化json字符串

2017-05-30

mybatis-generator-core-1.3.2.zip

mybatis-generator-core-1.3.2.zip自动生成数据库表对应的类方法和配置文件

2017-04-23

Android编程权威指南

Android编程权威指南

2017-04-21

SpringMVC实例

SpringMVC实例

2017-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除