- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 前端-点击其他区域隐藏下拉菜单
<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>自动隐藏菜单操作</title> <link rel="stylesheet" href="css/
2020-11-09 16:46:32
768
转载 2020101001API设计整理
文章原文来自公众号:[Hollis](javascript:void(0)???? - 如何设计一个牛逼的API接口针对于第三方的业务平台接口设计,应该考虑到三个方面:安全性幂等性数据规范一、安全性1.1 调用接口的先决条件:token获取token一般会涉及到几个参数appid,appkey,timestamp,nonce,sign。我们通过以上几个参数来获取调用系统的凭证。appid和appkey可以直接通过平台线上申请,也可以线下直接颁发。appid是全局唯一的,每个appid
2020-10-10 15:20:33
244
原创 Java异常---finally和return的执行顺序
try() ⾥⾯有⼀个return语句, 那么后⾯的finally{}⾥⾯的code会不会被执⾏, 什么时候执⾏, 是在return前还是return后?如果try中有return语句, 那么finally中的代码还是会执⾏。因为return表⽰的是要整个⽅法体返回, 所以,finally中的语句会在return之前执⾏。但是return前执行的finally块内,对数据的修改效果对于引用类型和值类型会不同。示例代码:package demo;/** * @ClassName: Demo01
2020-06-15 21:16:23
270
原创 Java导出zip压缩包
使用Java导出zip压缩包,压缩包中包含一个文件夹和一个文件,其中文件夹包含另一个文件。代码:package com.sunshuo.start;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;impo...
2020-04-07 17:09:11
1286
1
原创 JavaScript 双击禁止选中文字
// 双击禁止选中文字window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
2020-03-21 18:03:51
4602
2
原创 javaScript 面向对象练手例子——Tab栏切换
HTML部分<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-eq...
2020-03-21 18:01:32
435
原创 Java——inputStream转换成Base64字符串
/** * 将inputstream转为Base64 * * @param is * @return * @throws Exception */ private String getBase64FromInputStream(InputStream is) throws Exception { // 将图片文...
2019-07-05 09:17:07
10934
原创 VUE JS小实例——购物车的实现
index.html代码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>购物车示例</title> <link rel="stylesheet" type="text/css" href="../css/style.css" /&g...
2019-04-10 22:57:22
499
原创 JS——显示当前时间
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <div id="app"> {{date | formatDate}} </div>...
2019-04-09 23:07:10
329
原创 Spring Boot——WebSocket(广播式)
什么是WebSocketWebSocket 为 浏览器 和 服务 端 提供 了 双工 异步 通信 的 功能, 即 浏览器 可以向 服务 端 发送 消息, 服务 端 也可以 向 浏览器 发送 消息。 WebSocket 需 浏览器 的 支持, 如 IE 10+、 Chrome 13+、 Firefox 6+, 这对 我们 现在 的 浏览器 来说 都不 是 问题。 WebSocket 是 通过 一个...
2019-03-28 23:19:13
774
原创 (一)Spring Boot——Spring Boot基础
1.Spring Boot 概述1.1 什么是Spring BootSpring使用“习惯优于配置”的理念,让项目快速的运行起来。使用Spring Boot可以很容易创建一个独立运行的、准生产级别的基于Spring的项目。Spring Boot内置Servlet容器,可以以jar的方式运行项目。1.2 Spring Boot 的核心功能1)独立运行的Spring项目Spring boot...
2019-03-26 22:16:46
429
原创 JVM——垃圾回收机制
重点内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定垃圾回收需要思考的3件事情:哪些内存需要回收什么时候回收如何回收对象存活的判定垃圾回收之前,要判断哪些对象需要回收。引用计数算法给对象添加一个引用计数器,当有引用引用这个对象时,计数器加一,当引用失效时,计数器减一,当计数器为0时,这个对象就是没有被引用的。这种方式实现简单,判断效率也高,但是这种方式没...
2019-02-20 22:07:55
461
原创 JVM——Java内存模型
重点内存可见性、重排序、顺序一致性、volatile、锁、final主内存和工作内存Java内存模型主要目标用来屏蔽掉各种硬件和操作系统的内存之间的差异,以实现Java程序在各个平台下都能达到一致的n内存访问效果。Java内存模型定义了程序中变量的访问规则,即虚拟机将变量存储到内存和从内存取出比变量的规则。此处的变量是广义的,包括实例、静态变量或者数组元素,但是局部变量和方法参数是线程私有的...
2019-02-19 23:04:33
185
原创 变态跳台阶(JAVA)
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。递归思路如果有1级台阶,跳法为f(1) = 1;如果有2级,第一次跳1级,剩下1级台阶有f(1)种跳法,或者一次跳2级(n=2),共有f(2)=f(1)+1种;如果有3级,加入第一次跳1级,剩下(n-1)即(3-1=2)级有f(2)种跳法,加入一次跳2级,剩下(n-2)即...
2019-02-19 21:16:53
188
原创 跳台阶问题——递归和循环
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。思路每次可以跳一级或者两级,那么当有1级台阶的话,有1中跳法,2级台阶就有2种,3级台阶的话就要3种,4级台阶有5种。所以能看出来这是一个斐波那契数列。或者这样想,一个n级的台阶,如果第一次跳1级,那么剩下了(n-1)级台阶,跳法是f(n-1),如果第一次跳2级台阶,...
2019-02-19 20:44:05
352
原创 JVM——JVM内存结构
重点堆、栈、方法区、直接内存、堆和栈区别。概要对于Java程序员来说,内存的管理都是交由JVM内存管理机制来控制,虽然美好,但是一旦出现内存泄漏和溢出的问题,不了解虚拟机是怎么样使用内存的话,排查起来将会一件很棘手的事情。运行时数据区域Java虚拟机所管理的内存包含以下几个运行时区域:(图片来源:https://www.cnblogs.com/ityouknow/p/5610232....
2019-02-18 23:00:29
215
原创 输出斐波那契数列的第n项
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39考察知识点递归和循环斐波那契数列简介斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5...
2019-02-18 16:56:23
4825
原创 旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。本题知识点: 查找思路如果从头到尾的遍历数组,找到最小的元素,这种算法的时间复杂度是O(n),不采用这种方式...
2019-02-18 15:10:12
124
原创 HashMap源码(JDK1.8)
概念HashMap存储数据的方式为key-value键值对的方式。在JDK1.8之前,HashMap采用数组+链表的方式存储数据。在JDK1.8版本,HashMap使用数组+链表+红黑树的方式存储数据。结构如图:图片来源:https://blog.youkuaiyun.com/panweiwei1994/article/details/77244920层次结构public class HashMap...
2018-12-25 22:25:58
543
原创 LinkedList源码
LinkedList层次结构如图所示,LinkedList继承了AbstractSequentialList,实现了List, Deque, Cloneable, java.io.Serializable接口。AbstractSequentialList:这是一个抽象类,继承了AbstractList类。而AbstractList类实现了List接口,所以AbstractSequentia...
2018-12-23 16:59:18
162
原创 从尾到头打印链表
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。本题知识点: 链表思路方案1:链表有节点,每个节点又指向下一个节点,题目要求从尾到头打印链表的值,那么“后进先出”的栈是可以做到的。有栈的思想,不妨也可以试用递归来实现。递归需要有一个终止条件,这个终止条件就是传进来的链表节点不是空,用图描述大概如下:先调用fucn(1),然后递归调用该方法,这样,func(2),...
2018-12-23 13:25:27
134
原创 ArrayList源码分析
1.概述ArrayList是一个可以实现动态调整大小的一个数组的实现的列表。这个列表可以允许存储包括null在内的所有元素。ArrayList和java.util.Vector功能大致相似,只是ArrayList是不同步的。2.ArrayList的层次关系如图所示,ArrayList继承了AbstractList类。实现了List, RandomAccess, Cloneable, j...
2018-12-20 23:35:52
167
原创 剑指Offer_编程题——替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。考察知识点:时间限制:1秒 空间限制:32768K本题知识点: 字符串思路最简单的方法是使用replaceAll(" ", "%20")这个函数,但是本题考察的是字符串的操作,所以不用这个函数。思路:1)对给定的字符...
2018-12-18 16:58:47
174
原创 二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。本题知识点查找时间限制:1秒空间限制:32768K思路思路1:因为数组是横线和纵向有序的,所有可以从右上角开始找。如果target(要寻找的目标值)正好是右上角的值value,直接返回...
2018-12-18 10:01:13
132
原创 (三)Zookeeper——zookeeper的Java客户端API增删改查和监听
新建Java项目zookeeper,导入zookeeper所需的jar包:基本操作——增删改查新建类ZookeeperClientDemo代码如下:package com.sunshuo.zookepper.demo;import java.util.List;import org.apache.zookeeper.CreateMode;import org.apache.zo...
2018-11-28 22:06:44
305
原创 (二)Zookeeper——zookeeper命令行客户端的功能小结
启动zk命令行客户端在启动zk服务后,进入到bin目录下:[root@slave1 bin]# ./zkCli.sh在本地启动了一个命令行客户端。帮助命令help[zk: localhost:2181(CONNECTED) 0] help创建节点create创建节点node01,并写入数据hellozk[zk: localhost:2181(CONNECTED) 2] ...
2018-11-27 22:23:54
153
原创 (一)Zookeeper——基本概念及安装部署
概念:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。Zookeeper是一个基础组件。(百度百科)原理:ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fa...
2018-11-27 20:59:58
275
原创 Java中值传递和引用传递
基本类型和引用类型概念:Java中变量分为两种类型:基本类型和引用类型基本类型:保存变量原始的值,即本身的值就是数值本身引用类型:保存的是引用值,就是对象在内存中地址,表示对某个对象的应用。常用基本类型:int、short、boolean、float等等引用类型:类、接口和数组基本类型和引用类型区别:基本数据类型。在声明时候,就分配了存储空间.而应用类型,声明时候,只是给对象的引用...
2018-11-25 21:11:34
138
原创 centos 7修改默认运行级别
查看当前的运行级别编辑文件:vim /etc/inittab# inittab is no longer used when using systemd.## ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.## Ctrl-Alt-Delete is handled by /usr/lib/sy...
2018-09-08 22:07:56
316
原创 centos 7关闭防火墙
临时关闭systemctl stop firewalld禁止开机启动systemctl disable firewalld输出: Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-o...
2018-09-08 21:51:24
3717
4
原创 Linux下基础网络配置修改(CentOS 7)
环境 虚拟机:VMware Workstation 12 Pro Linux系统:centos 7修改IP地址vim /etc/sysconfig/network-scripts/ifcfg-ens33内容如下:TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="none"DEFROUTE=...
2018-09-08 21:47:23
1216
原创 postgresql递归查询
postgresql 递归查询如果数据库中表中的记录存在这单继承关系,即每条记录只有一条父亲记录,要查询这条记录的所有的子记录,可以使用递归查询来简化查询复杂度。有如下的表关系和记录,存放各个法院的ID,名称和它的父级单位ID。CREATE TABLE "db_uim"."t_aty_corp" ("c_id" varchar(50) COLLATE "default" NOT NU...
2018-03-21 09:26:43
1311
原创 MySQL基础--数据类型和运算符
数据类型和运算符1.常见的数据类型介绍整数类型Mysql提供的主要整数类型有:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,并且可以添加AUTO_INCREMENT自增约束条件。 类型名称 说明 存储需求 TINYINT 很小的整数 1字节 SMALLINT 小整数 2字节 MEDIUM...
2018-03-20 23:36:14
223
原创 Java HashMap遍历几种方式
概述遍历HashMap有三种情况:遍历key+value,遍历key,遍历value。常用的方法有两种:keySet方法,entrySet方法等。遍历key+valuekeySet()方法:iterator 形式public class Demo01 { public static void main(String[] args) { Map<String, String>
2017-10-11 21:19:15
937
转载 Bean Validation
摘抄自技术博文:https://www.ibm.com/developerworks/cn/java/j-lo-beanvalid/概述Bean Validation规范Bean 是 Java Bean 的缩写,在 Java 分层架构的实际应用中,从表示层到持久化层,每一层都需要对 Java Bean 进行业务符合性验证。然而对于同一个 Java Bean 的对象,在每一层都需要实现同样的验证逻辑时
2017-10-09 16:09:07
303
原创 SSM框架整合思想
Spring+Mybatis+SpringMVC框架是目前流行的Java框架组合。 整合整体分为三层:Dao层,Service层和表现层。 以maven项目为例,建立一个聚合工程,每个层次都是一个模块分别来搭建配置Dao层Dao层用来与数据库进行交互,并且将与数据库交互的结果返回给Service层。 在Dao层需要用到的JAR包有:mybatis的jar包数据库驱动包(MySql或者Ora
2017-09-07 21:57:56
3265
原创 Java定时任务之Timer(慕课网笔记)
定时任务就是基于给定的时间点,时间间隔或者给定的执行次数自动的执行任务。 Timer API定义: 有且仅有一个后台线程,对多个任务线程进行定时定频率的调用
2017-08-13 21:50:20
503
原创 通过IP查看地址
接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip= 反回的JSON字符串,所以需要JSONUtil工具类: 需要的jar包:jackson-annotations-2.4.2.jar,jackson-core-2.4.2.jar,jackson-databind-2.3.1.jar,只写了JSON转map和j
2017-08-13 00:15:39
369
原创 选择排序
选择排序选择排序是简单的排序,基本思想就是选择找到数组中最小的元素,与第一个元素交换,如果第一个元素最小,就自己与自己交换。然后在从剩下的元素中找到最小的元素和第二个元素交换,如此下去,一直到整个数组有序。概括来说就是不断的寻找最小的元素。核心代码:public static void sort(String[] a) { int N = a.length; for
2017-07-27 22:23:37
199
转载 使用GO操作excel文件并发送email
原文链接:http://studygolang.com/articles/9154情景:将工资条的内容发送到相应员工的邮箱中。 xlsx文件内容格式: 获取excel文件内容,使用第三方库:github.com/tealeg/xlsx 代码:package mainimport ( "fmt" "github.com/tealeg/xlsx" "log")func m
2017-05-28 13:38:42
4740
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人