1.演练地址https://djz917.github.io/contact/indexDB/index.html
2.看一下浏览器兼容性,手机兼容性略差。
3.简单建立页面,如下:
4.静态HTML代码
姓名
电话
地址
删除
5.全局变量声明
var indexedDb = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;
var db,
index = 0,
arrayKey = [],
openRequest,
lastCursor,
createEle = document.querySelector('.create'),
searchEle = document.querySelector('.search'),
deleteBtn = document.querySelector('.delete'),
dbName = "person",
tableName = "textTable";
createEle.addEventListener('click', add);
searchEle.addEventListener('click', seletDB);
deleteBtn.addEventListener('click', deleteDB);
init(tableName);
6.打开数据库
//打开数据库
function init(tableName) {
openRequest = indexedDb.open(tableName);
//一个新的数据库被创建或被修改的时候触发
openRequest.onupgradeneeded = function(e) {
console.log("running onupgradeneeded");
var thisDb = e.target.result;
console.log(thisDb.version);
//如果不存在tableName这个表那么就新建一个
if (!thisDb.objectStoreNames.contains(tableName)) {
console.log("I need to create the objectstore");
var objectStore = thisDb.createObjectStore(
tableName, {
keyPath: "id", //主键
autoIncrement: true
}
);
//指定两个唯一可以索引的字段
objectStore.createIndex("name", "name", {
unique: false
});
objectStore.createIndex("phone", "phone", {
unique: false
});
}
};
//打开数据库成功触发
openRequest.onsuccess = function(event) {
db = event.target.result;
//读取数据库
readAll();
console.log("打开数据库成功!")
}
//打开数据库失败时触发
openRequest.onerror = function(event) {
console.log("打开数据库失败");
}
}
7.使用游标遍历数据库
//读取数据库
function readAll() {
var transaction = db.transaction(tableName)
//事务成功监听函数
transaction.oncomplete = function(event) {
console.log("transaction complete");
}
transaction.onerror = function(event) {
console.dir(event);
}
var objectStore = transaction.objectStore(tableName);
//使用游标遍历
objectStore.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
if (cursor) {
console.log(cursor.key);
console.dir(cursor.value);
create({
key: cursor.key,
name: cursor.value["name"],
phone: cursor.value["phone"],
address: cursor.value["address"]
});
lastCursor = cursor.key;
cursor.continue(); //下一条
} else {
console.log("没有更多数据了");
}
}
objectStore.openCursor().onerror = function(event) {
console.dir(event)
}
}
8.原生js动态添加元素
//新建列表元素
function create(person) {
var parent = document.getElementById("table"),
tr = document.createElement("tr"),
td1 = document.createElement("td"),
td2 = document.createElement("td"),
td3 = document.createElement("td"),
td4 = document.createElement("td");
tr.setAttribute("id", person.key);
tr.classList.add('content');
td1.innerHTML = person.name;
td2.innerHTML = person.phone;
td3.innerHTML = person.address;
td4.innerHTML = "删除 ";
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tr.appendChild(td4);
parent.appendChild(tr);
var delEle = document.querySelectorAll('.del');
delEle[delEle.length - 1].addEventListener('click', del);
}
9.添加数据
//添加数据
function add() {
var form = document.index,
err;
var name = form.name.value,
phone = form.phone.value,
address = form.address.value,
person = {
name: name,
phone: phone,
address: address
};
try {
if (name == '') throw "姓名不能为空";
if (phone == '') throw "电话不能为空";
if (address == '') throw "地址不能为空";
} catch (err) {
console.log(err);
index--;
return;
}
var transaction = db.transaction([tableName], "readwrite");
transaction.oncomplete = function(event) {
console.log("transaction complete");
}
transaction.onerror = function(event) {
console.dir(event);
}
var objectStore = transaction.objectStore(tableName);
objectStore.add(person);
objectStore.openCursor().onsuccess = function(event) {
cursor = event.target.result;
var key;
if (lastCursor == null) {
key = cursor.key;
lastCursor = key;
} else {
key = ++lastCursor;
}
create({
key: key,
name: name,
phone: phone,
address: address
});
console.log("数据添加成功" + key);
}
}
10.删除数据
//删除数据
function del(event) {
var child = event.toElement.parentNode.parentNode,
id = child.getAttribute("id"),
parent = child.parentNode;
var transaction = db.transaction(tableName, 'readwrite')
//事务成功监听函数
transaction.oncomplete = function(event) {
console.log("transaction complete");
}
transaction.onerror = function(event) {
console.dir(event);
}
var objectStore = transaction.objectStore(tableName); //得到objectStore对象
var removeKey = parseInt(id);
var request = objectStore.delete(removeKey);
request.onsuccess = function(e) {
console.log("成功删除");
var child = event.toElement.parentNode.parentNode;
parent.removeChild(child);
};
request.onerror = function(e) {
console.log("删除失败")
}
}
11.查询数据
//查询数据
function seletDB() {
var curName = document.index.search.value;
var transaction = db.transaction(tableName, 'readonly')
//事务成功监听函数
transaction.oncomplete = function(event) {
console.log("transaction complete");
}
transaction.onerror = function(event) {
console.dir(event);
}
var objectStore = transaction.objectStore(tableName);
var boundKeyRange = IDBKeyRange.only(curName);
var index = 0;
objectStore.index("name").openCursor(boundKeyRange).onsuccess = function(event) {
var cursor = event.target.result;
if (!cursor) {
if (index == 0) {
console.log("查询无果")
}
return;
}
var trEle = document.querySelector('.content');
var parent = document.getElementById('table');
while (trEle && index == 0) {
parent.removeChild(trEle);
trEle = document.querySelector('.content');
}
index++;
var rowData = cursor.value;
create({
key: rowData.id,
name: rowData.name,
phone: rowData.phone,
address: rowData.address
})
cursor.continue();
}
}
12.删除数据库
//删除数据库
function deleteDB() {
var DBDeleteRequest = indexedDb.deleteDatabase('textTable');
DBDeleteRequest.onerror = function(event) {
console.log('Error');
};
DBDeleteRequest.onsuccess = function(event) {
console.log('success');
};
var trEle = document.querySelector('.content');
var parent = document.getElementById('table');
while (trEle) {
parent.removeChild(trEle);
trEle = document.querySelector('.content');
}
}
你可能感兴趣的:(浏览器数据库)
一篇文章,彻底理解数据库操作语言:DDL、DML、DCL、TCL
Java布道者
oracle 数据库 sql
最近与开发和运维讨论数据库账号及赋权问题时,发现大家对DDL和DML两个概念并不了解。于是写一篇文章,系统的整理一下在数据库领域中的DDL、DML、DQL、DCL的使用及区别。通常,数据库SQL语言共分为四大类:数据定义语言DDL,数据操作语言DML,数据查询语言DQL,数据控制语言DCL。再加上事务控制语言TCL,一个共5个。下面,我们就详细了解一下它们。数据定义语言DDLDDL(DataDef
MySQL中处理JSON数据
小村学长毕业设计
mysql json 数据库
MySQL中处理JSON数据已成为大数据分析领域的一个新方向,这一功能自MySQL5.7版本引入以来,为数据库管理系统在处理非结构化数据方面提供了强大的支持。以下是对MySQL中处理JSON数据的详细探讨,包括其引入的背景、特性、函数与操作符、性能优化以及在大数据分析中的应用等方面。一、JSON数据类型引入的背景随着大数据技术的迅猛发展和普及,数据量的爆炸性增长对数据处理能力提出了前所未有的挑战。
SQLServer : DDL,DML,DQL,DCL的区别
SJ15630070060
Sql Server sqlserver 数据库
01、DDL(DataDefinitionLanguages)语句:即数据库定义语句,用来创建数据库中的表、索引、视图、存储过程、触发器等对象。SQLServerDLL语法是指SQLServer数据库定义域发的语法规则集合,主要包括创建、修改和删除数据库对象的语句。常用的语句关键字有:【createtable创建表】、【altertable修改表】、【droptable删除表】、【truncate
MySQL数据库中DDL 、DML 、DQL 、DCL 分别是什么
超爱西西鸭
MySQL数据库 数据库 mysql sql 运维
目录:一、DDL语句二、DML语句三、DQL语句四、DCL语句在MySQL数据库中,DDL、DML、DQL、DCL分别代表不同的语言类别,用于执行不同的数据库操作。一、DDL语句DDL(DataDefinitionLanguage)语句:数据定义语言,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。如创建、修改或删除表、视图、索引等。常用的语句关键字CREATE、DROP、ALTER、
数据库开发必备:深入理解DDL、DML、DQL和DCL
平凡程序猿~
数据库 数据库开发 oracle 数据库
文章目录一、数据库操作分类概述1.DDL(数据定义语言)2.DML(数据操作语言)3.DQL(数据查询语言)4.DCL(数据控制语言)二、DDL:数据定义语言1.DDL-数据库操作2.DDL-表操作三、DML:数据操作语言1.DML-添加数据2.DML-修改数据3.DML-删除数据四、DQL:数据查询语言1.DQL-基本查询2.DQL-条件查询3.DQL-聚合函数4.DQL-分组查询5.DQL-排
吊打面试官之 HTTP 协议的前世今生
~Maple~
计算机网络 http 网络协议 网络
1、HTTP的基本概念HTTP是超文本传输协议(HyperTextTransferProtocol),下面具体解释一下:协议:HTTP是一个用在计算机世界里的协议,它使用计算机能够理解的语言确立了一种计算机之间交流通信的方式(两个及以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。传输:HTTP是一个双向协议,比如A浏览器访问B服务器,使用HTTP协议来通信,数据就在A和B之间传
MySQL 奇幻之旅:从基础探秘到高级应用魔法
进阶的华夫饼进大厂
mysql 数据库
MySQL奇幻之旅:从基础探秘到高级应用魔法在数据库的神秘世界里,MySQL宛如一座蕴藏无尽宝藏的城堡,我怀揣着探索的热情与求知的渴望,踏上了这趟扣人心弦的学习征程。一、MySQL基础:城堡基石的雕琢(一)数据库与表的操作:构建数据的栖息之所数据库创建与管理:绘制数据城堡的蓝图:犹如精心绘制城堡的设计图,我熟练掌握了使用CREATEDATABASE语句创建数据库的魔法咒语,像CREATEDATAB
解决后端的set-cookie无法写入浏览器的问题
yudaleng
前端 json javascript 后端 springboot
前言:最近做项目,遇到了set-cookie无法写入的问题。一开始以为是浏览器安全设置的问题导致无法写入cookie,后面发现并不是。在网上翻阅了许多文章,终于定位到了问题。写这篇文章用于记录一下,以免以后忘了。后端:1.后端需要配置好跨域2.响应头必须包含httpServletResponse.setHeader("Access-Control-Allow-Credentials","true"
基于Redis geo地理位置的物流路线规划系统实现方案
xiyubaby.17
缓存 redis
物流路线规划系统实现方案一、系统架构图数据存储层数据处理层业务服务层客户端RedisGEOPostgreSQL图数据库地理编码服务实时交通处理路线优化引擎距离计算服务路径规划服务订单管理服务物流管理系统司机APP客户门户客户端API网关业务服务层数据处理层数据存储层二、核心模块实现1.地理模型定义publicclassLocation{privateStringid;privateStringad
HTTP长连接与短连接的前世今生
慢德
计算机基础 https 网络
HTTP长连接与短连接的前世今生大家好!作为一名在互联网摸爬滚打多年的开发者,今天想跟大家聊聊HTTP中的长连接和短连接这个话题。记得我刚入行时,对这些概念一头雾水,希望这篇文章能帮助新入行的朋友少走些弯路。什么是HTTP连接?在谈长短连接之前,我们先搞清楚HTTP连接是什么。简单来说,当你的浏览器访问一个网站时,你的电脑和服务器之间需要建立一条通信的"管道",这就是HTTP连接。通过这个管道,你
Python Tkinter库实战(用Entry和button控件做一个小型的浏览器)
IT界小菜鸡
笔记 python 开发语言
大家好,上一期我们大概了解了一下PythonTkinter库。这是一个方便快捷的GUI库;可以用短短几行代码生成出一个用户图形化接口的窗口。算是非常方便。既然前一期我们了解了tk库。那么我们今天就来做一个实战。今天这个实战项目源自于我一个奇奇怪怪的想法。当时打开浏览器的时候想着,既然我打开浏览器输入网址,搜索URL。既然别人可以,那我为什么不可以自己做一个呢?抱着这个想法,我就开始了这个实验。废话
前端简单数据存储:跳过后端数据库的一种高效策略,应对一些不需要后端访问数据库的简单操作:静态 Markdown 文件存储
【D'accumulation】
前端 数据库 学习 vscode html5 vue.js
问题提出:在一些应用场景中,有些数据并不重要,也不需要频繁地进行动态增删改查,比如品牌历史、产品介绍等说明性内容。为此,我选择在前端直接存储这些静态数据,跳过后端数据库调用。本文将分享如何利用Vue工程中直接存放Markdown文件与内嵌数据,将数据管理与业务逻辑解耦,从而实现快速开发、便于维护和灵活更新的目的。静态Markdown文件存储方法案例:原理:将Markdown文件(如brandHis
AMD异步模块介绍
【D'accumulation】
前端 学习
基本介绍AMD(AsynchronousModuleDefinition,异步模块定义)是一种用于JavaScript模块化编程的规范,它允许JavaScript代码以异步方式加载模块及其依赖。它最初是为了解决浏览器端JavaScript代码模块化的问题,最著名的实现是RequireJS。AMD出现背景JavaScript发展初期,所有代码都写在一个.js文件里,或者通过有哪些特点AMD主要用于浏
chromadb向量数据库使用 (2)
ZHOU_CAMP
RAG chat_Chain 数据库 chromadb
目录代码代码解释**1.导入chatGLM嵌入函数****2.创建ChromaDB客户端和集合****3.查询集合中的数据数量****4.添加数据到集合****5.获取已存储的文档****6.更新文档****7.再次获取数据,验证更新结果****8.删除某个文档****9.获取已删除的文档****总结**代码importchromadb.utils.embedding_functionsasemb
SAP-ABAP:SAP事务码SE14深度解析:数据库表管理核心工具
爱喝水的鱼丶
SAP-ABAP开发基础详解 ABAP开发之必须知道的 VIP详情查看专栏 SAP ABAP 开发运维 运维 数据库
SAP事务码SE14深度解析:数据库表管理核心工具SE14是SAP中用于激活并调整透明表的数据库结构的工具,主要用于字段修改、主键变更或数据类型调整后同步数据库表结构,支持数据迁移及重建索引SE14核心功能
领域驱动新实践:COLA框架全解析——架构设计与实战案例解析
Java进阶八股文
后端
1.引言:为什么选择COLA实现DDD?——从“代码泥潭”到“领域清晰”的架构跃迁传统分层架构的痛点:当代码沦为“数据库操作说明书”在典型的MVC或三层架构中,业务逻辑常常被“撕碎”成零散的片段,散落在Service层的各个角落。以电商系统的订单管理为例,开发者可能会遇到这样的场景:java代码解读复制代码//传统Service层:贫血模型的典型代码publicclassOrderService{
详细说明脚本评估和耗时较长的任务
混血哲谈
性能优化
在网页性能优化中,脚本评估和耗时较长的任务是两大关键性能瓶颈。它们直接影响页面的加载速度、交互响应以及用户体验。以下是对这两个概念的详细说明及优化策略:一、脚本评估(ScriptEvaluation)1.定义脚本评估指浏览器解析(Parsing)、编译(Compiling)和执行(Executing)JavaScript代码的全过程。这一过程通常包括:解析:将文本形式的JavaScript代码转换
Spring 事务管理全解析:原理、源码与实战
工一木子
SpringFramework 笔记 spring 数据库 java
Spring事务管理全解析:原理、源码与实战事务(Transaction)是保证数据一致性的重要机制,Spring通过声明式事务和编程式事务提供强大的事务管理能力。本篇文章将深入剖析Spring事务的底层原理、传播机制、源码解析,并通过代码实战讲解如何正确使用Spring事务。1.什么是事务?(What)事务是数据库操作的最小执行单元,必须具备ACID(原子性、一致性、隔离性、持久性)特性。Spr
SQL中体会多对多
PlumCarefree
sql 数据库
我们可以根据学生与课程多对多关系的数据库模型,给出实际的表数据以及对应的查询结果示例,会用到JOIN``LEFTJOIN两种连接1.学生表(students)student_idstudent_name1张三2李四3王五2.课程表(courses)course_idcourse_name1数学2英语3物理3.选课表(student_courses)idstudent_idcourse_id1112
云智慧发布对象关系型数据库CloudPanguDB,打破传统技术壁垒
近日,云智慧推出关系型数据库CloudPanguDB(中文名称:盘古数据库),旨在通过高兼容性能和创新技术架构,降低企业项目整体运营成本。无论是处理海量复杂数据,还是构建清晰有序的数据结构关系,CloudPanguDB都具有强大的应用价值。随着各产业数字化转型的迅速发展,企业对国产化数据库需求与日俱增。CloudPanguDB以云智慧自身产品技术为基础,统一优化技术架构,功能覆盖关系型数据库、全文
python本地连接minio
伶星37
python 网络 服务器
在你浏览器能成功访问到你的minio网页,并且成功登录之后。接下来如果你想用python连接数据库,并且想用python连接minio,就可以用这个blog。连接代码client=Minio("localhost:9000",#9000是默认端口号access_key="admin",#你的账户secret_key="password",#你的密码secure=False,#这点我会详细说明)为什
mongodb与爬虫的关系
getapi
mongodb 爬虫 数据库
MongoDB与爬虫之间的关系主要体现在数据存储和管理的层面。爬虫(WebCrawler或Spider)是一种自动化工具,用于从互联网上抓取网页内容或特定数据。而MongoDB是一个NoSQL数据库,常被用来存储和管理爬虫抓取到的数据。以下是它们之间关系的具体分析:1.爬虫的数据存储需求爬虫在运行过程中会抓取大量的非结构化或半结构化数据(例如HTML页面、JSON数据、图片链接等)。这些数据通常具
【MongoDB】分片部署和应用实践全过程
gaoyi1234560
mongodb 数据库 运维开发
基本概念Router(mongos):数据库集群请求的入口ConfigServers(replicaset)存储数据库的元数据,如路由,分片的配置Share:数据库拆分分片具体操作配置主机名:vi/etc/hosts192.168.0.222m1192.168.0.111m2192.168.0.113m3安装目录为:/opt/mongodb/cluster创建目录和日志目录:mkdir-p/opt
SQL Server 2022常见问题
软件研究员
数据库 sql server
根据本人多年使用数据库的经验,总结SQLServer2022数据库常见问题包含安装、链接、性能等问题,下面简单说下。一、安装失败问题主要是以下问题:1、硬件配置问题sqlServer2022运行的最低硬件配置要求:根据官网公布要求最低1G内存,最低6G可用磁盘空间,处理器速度1.4GHz,x64处理器;显示器Super-VGA(800x600)。注意:在这里我说的是最低配置。2、软件插件问题缺少.
使用 Docker 部署 Puter 云桌面系统
Jaxx.Wang
# 开源项目 Docker
1)Puter介绍:::infoGitHub:https://github.com/HeyPuter/puter:::Puter是一个先进的开源桌面环境,运行在浏览器中,旨在具备丰富的功能、异常快速和高度可扩展性。它可以用于构建远程桌面环境,也可以作为云存储服务、远程服务器、Web托管平台等的界面。Puter是一个隐私至上的个人云,可以将您的所有文件、应用程序和游戏保存在一个安全的地方,随时随地都
Elasticsearch 搜索引擎原理与实践
AI天才研究院
Python实战 自然语言处理 人工智能 语言模型 编程实践 开发语言 架构设计
作者:禅与计算机程序设计艺术1.简介Elasticsearch是开源分布式搜索引擎,提供搜素、分析、数据可视化等功能。它是一个基于Lucene的全文搜索服务器,能够把结构化或非结构化的数据经过索引生成一个索引库,使其可以被搜索到。在现代Web应用中,搜索功能已经成为不可或缺的一项功能。但是传统上,传统搜索方式需要依赖于数据库查询或者其他复杂的查询接口。而Elasticsearch提供了一种高效、稳
分享:Javascript开源桌面环境-Puter
ac-er8888
javascript 开发语言 ecmascript
Puter这是一个运行在浏览器里的桌面操作系统,提供了笔记本、代码编辑器、终端、画图、相机、录音等应用和一些小游戏。该项目作者出于性能方面的考虑没有选择Vue和React技术栈,而是采用的JavaScript和jQuery构建,支持Docker一键部署和在线使用。简介:Puter是一个先进的开源项目,旨在为用户提供全新的云端体验。它可以在浏览器中运行,无需安装,即可提供丰富的功能和极快的速度。功能
redis过期删除、内存淘汰、双写一致性---java
皮卡兔子屋
# redis redis java mybatis
过期删除Redis的缓存失效不会立即删除,Redis的过期删除策略是选择「惰性删除+定期删除」这两种策略配和使用。惰性删除策略的做法是,不主动删除过期键,每次从数据库访问key时,都检测key是否过期,如果过期则删除该key。定期删除策略的做法是,每隔一段时间「随机」从数据库中取出一定数量的key进行检查,并删除其中的过期key。内存淘汰Redis提供了8种不同的数据淘汰策略,默认是noevict
生物信息复习笔记(3)——GEO数据库
Kriol
生物信息初学 笔记
Platform:测序平台信息。不同测序平台对每一个基因编号不一样。拿到测序结果之后只是知道了某个基因ID的表达情况,需要将基因ID匹配成对应的基因,需要根据Platform信息去注释。GSM:样本。一个测序数据集里有很多个GSM,点进去可以看到该样本的各种信息(样本来源,临床表征,各种处理样本方式,处理数据方式)。GSE:包含所有信息的完整数据集。(最重要)做生信样本量不能少:30以上。精准搜索
JavaWeb学习笔记
时间会给答案scidag
java java-ee servlet 笔记 学习 数据库
一.刨析JDBC1.概念:JDBC就是java语言操作关系型数据库的一套API2.常用API2.1DriverManager:作用1.注册驱动2.获取数据库连接;都是静态方法,直接类名.方法2.2Connection:作用1.获取sql执行对象2.事务管理《《关于管理事务回滚常用方法setAutoCommit()commit(),rollback()2.3Statement:作用执行SQL语句《《
JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm 字节码 Class文件 StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
[时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
 
开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery 开发 插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
RSA加密解密
无量
加密 解密 rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
linux 软件安装遇到的问题
aichenglong
linux 遇到的问题 ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
探索JUnit4扩展:深入Rule
bijian1013
JUnit Rule 单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
[CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
java netty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
mysql 在linux客户端插入数据中文乱码
daizj
mysql 中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
好代码是廉价的代码
dcj3sjt126com
程序员 读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化 Oracle sql语句优化 SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android 移动开发 滑动机制 嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
使用hovertree菜单作为后台导航
hvt
JavaScript jquery .net hovertree asp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
一个简单的队列
luyulong
java 数据结构 队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
项目出现的一些问题和体会
Steven-Walker
DAO Web servlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,