自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SweetoDream

你今天必须做别人不愿做的事,好让你明天可以拥有别人不能拥有的东西。

  • 博客(59)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java线程池中的execute和submit

execute和submit都是线程池中执行任务的方法。execute是Executor接口中的方法submit是接口中的方法。通过源码可以看出execute方法无返回值,参数为Runnable对象。submit方法有三个重载方法,都有Future类型的返回值,参数可以是Runnable对象,Callable对象,Runnable对象和一个其他类型的对象。执行结果如下:结果如下:可见使用submit方法时只有在使用Future的get方法时才会抛出异常,并且get方法也会抛出异常。

2023-02-01 15:17:48 4109

原创 Java多线程:Future和FutureTask

Future是一个接口,所有方法如下:上源码:cancel:取消任务(mayInterruptIfRunning是否中断正在执行的任务)。isCancelled:任务是否取消isDone:任务是否执行完成。get:获取任务结果get(long timeout, TimeUnit unit):有等待时间的获取任务结果。二、FutureTaskFutureTask是一个类,实现了接口,接口继承了和,关系图如下:FutureTask有两个构造函数:第一个构造函数传入一个对象,第二个构造函数传入

2023-01-31 16:38:12 1221

原创 Java线程池详解

详解线程池的参数、生命周期、Executor提供的线程池。

2023-01-31 09:41:10 595

原创 【java集合】HashMap源码解析(基于JDK1.8)

类继承关系图如下:HashMap实现了三个接口,一个抽象类。主要的方法都在Map接口中,AbstractMap抽象类实现了Map方法中的公共方法,例如:size(),containsKey(),clear()等,主要方法由子类自己实现。HashMap结构如下图:HashMap的主要结构由数组、链表/红黑树组成,当数组中某个节点大于等于8个并且数组长度大于等于64时,链表会转换为红黑树。

2023-01-04 19:52:44 557 1

原创 Failed to read artifact descriptor for xxx:jar

遇到“Failed to read artifact descriptor for xxx:jar ”的错误。这可能是在下载过程中文件出现错误。解决办法:从本地的maven库中删除相关的jar包,然后重新更新maven。

2017-12-16 15:14:22 364

原创 图解HTTP之一--网络基础(TCP/IP、DNS)

网络基础TCP/IP1. TCP/IP协议族计算机与网络设备要相互通信,双方就必须基于相同的方法。比如:如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的一切都需要一种规则。而我们就把这种规则称之为协议(protocol)协议中存在各式各样的内容。从电缆的规格到IP地址的选定方法、寻找异地用户的方法、双方建立通信的顺

2017-01-10 17:05:58 3939

原创 HTTP状态码(HTTP Status Code)

一些常见的状态码为:200 //服务器成功返回网页404 //请求的网页不存在503 //服务器不可用所有状态解释:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态码。代码说明100 //继续 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101 //切换协议 请求者已要求服务器切换协议,服务器已确认

2017-01-03 16:04:59 4864

原创 HTTP图解

本节内容俗话说好的开发,底层知识必须过硬,不然再创新的技术,你也理解不深入,比如python web开发工程师,想要学习任何一个框架,底层都是http和socket,底层抓牢了,学起来会很轻松,所以楼主今天特意写了一篇底层的博客,来源于《HTTP图解》这本书。下载内容在本节末尾,可以自行前去下载观看,比我个人了解得多要全面很多,不过不要忘记点赞哈!!本文只要内容:了解web及网络基础简单的ht

2016-12-30 10:15:02 8783

转载 Vue + Webpack + Vue-loader 功能介绍

Vue-loader 是什么?vue-loader 是一个加载器,能把如下格式的 Vue 组件转化成JavaScript模块。vue-loader 提供了一些非常酷炫的特性:ES2015默认可用;在每个 Vue 组件内支持其他的 Webpack 加载器,如用于<style>的 SASS 和用于<template> 的 Jade。把 <style> 和 <template> 内引用的静态资源作为

2016-12-28 16:58:13 10857

原创 探索setTimeout

其实说起JavaScript中的定时器(Timer)中的 setTimeout() 方法,从事开发的同学想必都不会陌生,觉得这些东西很简单很基础。但是有时候恰恰是基础简单的东西,才越容易被忽略。先看一段代码:console.log("start");setTimeout(function(){ console.log("world")},200);setTimeout(function()

2016-12-27 17:22:28 6658

原创 前端必会的html知识总结整理

1.浏览器内核ie:trident(三叉戟)内核firefox:gecko(壁虎)内核safari:webkit(浏览器核心)内核opera:以前是presto(急速)内核,现在是和谷歌共同开发的blink(闪烁)内核chrome:blink(基于webkit,谷歌和opera software共同开发)附:浏览器内核的理解浏览器内核分为两部分:渲染引擎和js引擎渲染引擎:负责取得网页

2016-12-27 11:33:58 6431

原创 npm介绍与cnpm介绍

npm介绍说明:npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)使用npm安装插件:命令提示符执行npm install <name> [-g] [--save-dev] <name>:node插件名称。 例:npm install gulp-less --save-dev-g:全局安装。 将会安装在C:\Us

2016-12-26 14:13:31 5402

原创 30分钟掌握ES6/ES2015核心内容

ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015。也就是说,ES6就是ES2015。虽然目前并不是所有浏览器都能兼容ES6全部特性,但越来越多的程序员在实际项目当中已经开始使用ES6了。所以就算你现在不打算使用ES6,但为了看懂别人的你也该懂点ES6的语法了…在我们正式讲解ES6语

2016-12-23 16:40:18 7028

转载 Vue.js 和 MVVM

MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定。Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层。它的核心是 MVVM 中的 VM,也就是 ViewMo

2016-12-22 12:38:07 8638

原创 常用 Git 命令清单

git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下:关于git,首先需要了解几个名词,如下:Workspace //工作区Index / Stage //暂存区Repository //仓库区(或本地仓库)Remote //远程仓一、新建代码库// 在当前目录新建一个

2016-12-19 16:28:21 7187 2

原创 canvas动画之三 -- 黑客帝国文字掉落效果

今天要实现的效果是黑客帝国里面的文字掉落效果,先来看一下图其实效果也是比较好实现的,只要计算出每个文字该出现的地方,然后绘制文字就可以了。下面就来说具体的实现方法吧。首先,新建页面写上canvas标签,在js中获取到并设置高宽:<canvas id="canvas"></canvas><script> var canvas = document.getElementById("canvas

2016-12-19 11:19:18 7599 1

翻译 在 2017 年将会更加流行的 6 个 Web 开发趋势

原文: https://dzone.com/articles/the-6-web-dev-trends-youre-going-to-see-more-of-in每到年底,人们总喜欢展望下一年,Web 开发领域也不例外。在 Web 开发领域,技术革新的速度堪比光速,未来总是超乎我们的想象,我们只能尽自己所能做一些合理的预测。以下是我们需要关注的一些趋势:1.更加移动优先响应式设计显然是目前 web

2016-12-16 10:19:25 5647 1

原创 JavaScript 变量提升

回归基础: JavaScript 变量提升(Hoisting)变量声明是所有的编程语言中最基础部分之一。然而,JavaScript 有一个怪异点,称之为变量提升(hositing),这个能够让一个看上去无关紧要的声明变成一个小bug。这篇文章解释了变量提升(hositing)是什么,以及你该如何避免这个大坑。JavaScript 是特别灵活的语言,几乎允许你在任何地方声明变量。比如,下方的立即执行函

2016-12-15 09:49:33 4428

原创 canvas动画之二 -- 创建动态粒子网格动画

最近看到一个粒子网格动画挺炫的,自己也就做了一个,当背景挺不错的。CSDN不能上传超过2M的图片,所以就简单截了一个静态图片:可以点击这里查看动画.下面就开始说怎么实现这个效果吧: 首先当然是添加一个canvas了:<canvas id="canvas"></canvas>下面是样式:<style> #canvas{ position: absolute;

2016-12-13 11:50:20 15486 4

转载 五个典型的JavaScript面试题

本文转载自:众成翻译 译者:cherryvenus 链接:http://www.zcfy.cc/article/1960 原文:https://www.sitepoint.com/5-typical-javascript-interview-exercises/在IT界,需要大量的javascript开发者。如果这个角色能够最佳地展现你的能力,那么你有许多机会换家公司,以及提高薪

2016-12-12 09:39:30 5564 1

转载 为什么要使用Node.js

Node.js是什么传统意义上的Jvascript运行在浏览器上,这是因为浏览器内核实际上分为两个部分:渲染引擎和Javascript引擎。前者负责渲染HTML+CSS,后者负责运行Javascript。Chrome使用的Javascript引擎是V8,它的速度非常快。Node.js是一个运行在服务端的框架,它的底层使用了V8引擎。我们知道Apache+PHP以及Java的Servlet都可以用来开

2016-12-11 22:10:57 15617

原创 js实现一个可以兼容PC端和移动端的div拖动效果

前段时间写了一个简单的div拖动效果,不料昨天项目上正好需要一个相差不多的需求,就正好用上了,但是在移动端的时候却碰到了问题,拖动时候用到的三个事件:mousedown、mousemove、mouseup在移动端都不起任何作用。毕竟移动端是没有鼠标的,查资料后发现,在移动端与之相对应的分别是:touchstart、touchmove、touchend事件。还有一点要注意的是在PC端获取当前鼠标的坐标

2016-12-09 12:06:49 19126 6

原创 canvas动画之一 -- 百分比进度加载

canvas作为H5中重要的新增特性,使开发者可以用它来创作各种令人惊叹的作品。先来看一下浏览器对canvas的支持情况。<canvas> 标签定义图形,比如图表和其他图像,我们使用脚本来绘制图形。先看一下这次动画的结果: gif图可能不完整,可以点击这里查看完整效果。canvas的API较多,这里我们只介绍一下本次使用到的一下API,更多的canvas可以查看这里。beginPath()

2016-12-08 21:59:40 5948 1

原创 说一说z-index容易被忽略的那些特性

前言关于z-index,每个人都会用,但大多人都不理解其真正的生效机制。最近做项目有很多用到z-index的地方,才发现以前用的一知半解,所以上网查了一些资料梳理了一下。关于z-index的生效机制并不复杂,但如果不花一点时间研究其特点,有很多关键点容易被忽略。问题HTML文档中有三个div元素,每个div中存在一个span元素,三个span元素分别设置背景颜色为red,green,以及blue。然

2016-12-06 11:27:54 8304 1

原创 使用CSS3绘制一个简易的3D相册

使用CSS3绘制一个简易的3D相册,先来看一下完成的静态效果图,: 点击这里查看完成的效果关于CSS3中的transform3D的属性已经在学习CSS3 3D转换,制作一个3D立方体这篇文章中讲解了,接下来我们直接来说如何实现一个3D相册。总体布局<div class="container"> <div class="box" id="box"> <div class="i

2016-12-03 21:16:27 8255 5

原创 利用CSS、JavaScript及Ajax实现图片预加载

预加载图片是提高用户体验的一个很好方法。图片预先加载到浏览器中,这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速、无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验。本文将分享三个不同的预加载技术,来增强网站的性能与可用性。用CSS和JavaScript实现预加载单纯的使用css可以将图片加载到页面元素的背景上,这种方法简单、高效:#preload-01 { backgr

2016-11-30 17:53:45 2974

原创 说说web缓存

为什么要用缓存一般针对静态资源如CSS,JS,图片等使用缓存,原因如下:请求更快:通过将内容缓存在本地浏览器或距离最近的缓存服务器(如CDN),在不影响网站交互的前提下可以大大加快网站加载速度。节省带宽:对于已缓存的文件,可以减少请求带宽甚至无需请求网络。降低服务器压力:在大量用户并发请求的情况下,服务器的性能受到限制,此时将一些静态资源放置在网络的多个节点,可以起到均衡负载的作用,降低服务器

2016-11-30 10:24:04 3229

原创 圣杯布局的实现过程

圣杯布局和双飞翼布局,它们都要求三列布局,中间宽度自适应,两边定宽,这样做的优势是重要的东西放在文档流前面可以优先渲染,而双飞翼布局是对圣杯布局的一种改良,下一篇会讲到。圣杯布局:用到浮动、负边距、相对定位,不添加额外标签。DOM结构:<div class="header">Header</div><div class="bd"> <div class="main">Main</div>

2016-11-28 21:50:33 2822

原创 HTML5中的data-*自定义属性

HTML5增加了一项新功能是:自定义数据属性,也就是data-*自定义属性。在HTML5中我们可以使用data-为前缀来设置我们需要的自定义属性,来进行一些数据的存放。当然高级浏览器下可以通过脚本进行定义和数据存取。在项目实践中非常有用。例如:<div id="div1" class="div1" data-id = "myId" data-class = "myClass" data-id-and

2016-11-25 12:05:02 5687

原创 详解HTTP协议

HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)HTTP是一个属于应用层的面向对象协议,由于其简洁、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经

2016-11-23 11:17:19 3313

原创 通俗易懂的讲解DOM

DOM是所有前端开发每天打交道的东西,但是随着jQuery等库的出现,大大简化了DOM操作,导致大家慢慢的“遗忘”了它的本来面貌。不过,要想深入学习前端知识,对DOM的了解是不可或缺的,所以本文力图系统的讲解下DOM的相关知识,如有遗漏或错误,还请大家指出一起讨论^ ^。一、DOM是什么       DOM(文档对象模型)是针对HTML和XML文档的一个API,通过DOM可以去改变文档。这个说法很官

2016-11-21 22:22:17 4024

原创 学习CSS3 3D转换,制作一个3D立方体

要想实现3D的效果,其实非常简单,只需指定一个元素为容器并设置transform-style:preserve-3d,那么它的后代元素便会有3D效果。不过有很多需要注意的地方,这里把我学习的方法,过程分享给大家。再讲知识点之前,还是先弄清楚3D的坐标系吧,从网上搜了一张经典坐标系图,供大家回顾一下。1. 3D视图       transform-style:flat(默认,二维效果)/preserv

2016-10-26 16:28:27 5923

原创 CSS 面包屑导航栏

先看一下效果图 1.首先写好HTML代码<ul> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Info</a></li> <li><a href="#">Contact</a></li></ul>这里只是写一个例子,为了方便就不添加id和class,直接为

2016-10-25 10:13:12 2583

原创 bootstrap中popover.js(弹出框)使用总结+案例

bootstrap中popover(弹出框)使用总结+案例bootstrap的官方文档(不过是英文的)一. popover常用配置参数://常用配置参数:$(document).ready(function() { $('#temp').popover( { trigger:'click', //触发方式 template:

2016-10-18 12:06:27 28577 1

原创 CSS3 几步即可实现loading动画效果

例子1:菊花状的Loading效果1.第一步画出静态的小菊花。 sk-fading-circle { width: 40px; height: 40px; position: relative;}.sk-fading-circle .sk-circle { width: 100%; height: 100%; position: absolute; left: 0;

2016-10-08 18:14:51 5768

原创 HTML5——sessionStorage和localStorage

html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage。       sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。       而localStorage用于持久

2016-09-28 13:01:17 3306

原创 js操作cookie的方法

cookiecookie,有时候也用其复数形式Cookies,指某些网站为了辨别用户身份,进行session跟踪而储存在用户本地终端上的数据(经常通过加密)。定义于RFC2109和2965都已废弃,最新取代的规范是RFC6265。cookie的作用服务器可以利用Cookie包含信息的任意性来筛选经常性维护这些信息,以判断在HTTP传输中的状态。Cookie最典型的英语是判断注册用户是否已经登录网站,

2016-09-18 16:16:13 1089

原创 Ajax语法浅析

Ajax简介        Ajax全称为”Asynchronous Javascript And XML”,即”异步的Javascript和XML”的意思。通过Ajax我们可以像服务器发送请求,在不阻塞页面的情况下进行数据交互,也可以理解为异步数据传输。在Ajax的帮助下我们的网页只需要局部刷新即可更新数据的显示,减少了不必要的数据量,大大提高了用户体验,缩短了等待的视觉,使得web应用程序更小

2016-09-14 14:25:54 1208

原创 javascript中的深复制

javascript深拷贝是初学者甚至有经验的开发着,都会经常遇到问题,并不能很好的理解javascript的深拷贝。       深拷贝(deepClone)是神马,与深拷贝相对应的就是浅拷贝,刚开始我也没弄懂。       在很多情况下,我们都需要给变量赋值,给内存地址赋予一个值,但是在赋值引用值类型的时候,只是共享一个内存区域,导致赋值的时候,还跟之前的值保持一直性。看一个具体的例子// 给t

2016-09-06 12:22:58 1859

原创 理解Function.prototype.bind

bind()方法会创建一个新的函数,成为绑定函数。当调用这个绑定函数时,绑定函数会以创建它时传入的第一个参数作为this,传入bind()方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调取原函数。       实际使用中我们经常会碰到这样的问题:var name = "pig";function Person(name){ this.name = name

2016-08-30 12:55:41 3020 1

空空如也

空空如也

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

TA关注的人

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