';for(vari=0; i
导出excel
导出分为2种,一种是基于现有excel修改,一种是全新生成,前者比较简单,我们这里着重讲后者。
3.1. 自己手写代码生成
导出excel文件,主要是如何生成一个sheet,我们这里写一个最简单的csv转excel示例:
// csv转sheet对象functioncsv2sheet(csv){varsheet = {};// 将要生成的sheetcsv = csv.split('\n'); csv.forEach(function(row, i){ row = row.split(',');if(i ==0) sheet['!ref'] ='A1:'+String.fromCharCode(65+row.length-1)+(csv.length-1); row.forEach(function(col, j){ sheet[String.fromCharCode(65+j)+(i+1)] = {v: col}; }); });returnsheet;}// 将一个sheet转成最终的excel文件的blob对象,然后利用URL.createObjectURL下载functionsheet2blob(sheet, sheetName){ sheetName = sheetName ||'sheet1';varworkbook = {SheetNames: [sheetName],Sheets: {} }; workbook.Sheets[sheetName] = sheet;// 生成excel的配置项varwopts = {bookType:'xlsx',// 要生成的文件类型bookSST:false,// 是否生成Shared String Table,官方解释是,如果开启生成速度会下降,但在低版本IOS设备上有更好的兼容性type:'binary'};varwbout = XLSX.write(workbook, wopts);varblob =newBlob([s2ab(wbout)], {type:"application/octet-stream"});// 字符串转ArrayBufferfunctions2ab(s){varbuf =newArrayBuffer(s.length);varview =newUint8Array(buf);for(vari=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) &0xFF;returnbuf; }returnblob;}
拿到上面的blob对象就可以直接下载了,参考我之前在JS弹出下载对话框里面封装好的openDownloadDialog方法:
/**
* 通用的打开下载对话框方法,没有测试过具体兼容性
* @param url 下载地址,也可以是一个blob对象,必选
* @param saveName 保存文件名,可选
*/functionopenDownloadDialog(url, saveName){if(typeofurl =='object'&& urlinstanceofBlob) { url = URL.createObjectURL(url);// 创建blob地址}varaLink =document.createElement('a'); aLink.href = url; aLink.download = saveName ||'';// HTML5新增的属性,指定保存文件名,可以不要后缀,注意,file:///模式下不会生效varevent;if(window.MouseEvent) event =newMouseEvent('click');else{ event =document.createEvent('MouseEvents'); event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null); } aLink.dispatchEvent(event);}
所以,最终下载实现如下:
// 传入csv,执行后就会弹出下载框functionexportExcel(csv){varsheet = csv2sheet(csv);varblob = sheet2blob(sheet); openDownloadDialog(blob,'导出.xlsx');}
3.2. 利用官方工具类生成
其实上面这些代码都不需要我们手写,官方已经提供好了现成的工具类给我们使用,主要包括:
aoa_to_sheet: 这个工具类最强大也最实用了,将一个二维数组转成sheet,会自动处理number、string、boolean、date等类型数据;
table_to_sheet: 将一个table dom直接转成sheet,会自动识别colspan和rowspan并将其转成对应的单元格合并;
json_to_sheet: 将一个由对象组成的数组转成sheet;
aoa_to_sheet示例:
varaoa = [ ['姓名','性别','年龄','注册时间'], ['张三','男',18,newDate()], ['李四','女',22,newDate()]];varsheet = XLSX.utils.aoa_to_sheet(aoa);openDownloadDialog(sheet2blob(sheet),'导出.xlsx');
table_to_sheet就更简单了,直接XLSX.utils.table_to_sheet($('table')[0])即可;
3.3. 处理单元格合并
一般来说,前端生成excel而不是csv最主要目的都是为了解决csv不能实现单元格合并的问题,要不然直接导出csv文件就好了,何必引入几百kb的插件。
假设我们要生成如下格式的excel文件,其中A1-C1进行单元格合并:
代码如下:
varaoa = [ ['主要信息',null,null,'其它信息'],// 特别注意合并的地方后面预留2个null['姓名','性别','年龄','注册时间'], ['张三','男',18,newDate()], ['李四','女',22,newDate()]];varsheet = XLSX.utils.aoa_to_sheet(aoa);sheet['!merges'] = [// 设置A1-C1的单元格合并{s: {r:0,c:0},e: {r:0,c:2}}];openDownloadDialog(sheet2blob(sheet),'单元格合并示例.xlsx');
需要注意的地方就是被合并的单元格要用null预留出位置,否则后面的内容(本例中是第四列其它信息)会被覆盖。
3.4. 自定义样式
普通版本不支持定义字体、颜色、背景色等,有这个功能需要的可以使用pro版,好像是要收费的,因为官网没看到下载地址。
你可能感兴趣的:(js-xlsx使用)
使用 Python3 生成通用唯一标识符(UUID)的方法
美丽风景-c
python 开发语言 Python
使用Python3生成通用唯一标识符(UUID)的方法UUID(通用唯一标识符)是一种用于在计算机系统中唯一标识实体的标准化方法。在Python中,可以使用uuid模块来生成UUID。本文将介绍如何使用Python3中的uuid模块生成UUID,并提供相应的源代码示例。首先,我们需要导入uuid模块:importuuid生成UUID的最常用方法是使用uuid.uuid4()函数。该函数会生成一个随
关于sklearn.svm.SVC与.NuSVC的区别以及参数介绍
_Magic
机器学习实战 with python
0.区别SVC与NuSVC是类似的方法,但是接受稍微不同的参数集合并具有不同的数学公式,并且NuSVC可以使用参数来控制支持向量的个数,以下代码默认的是多分类1.SVC#coding:utf-8fromsklearnimportsvmfromnumpyimport*X=array([[0],[1],[2],[3]])y=array([0,1,2,3])clf=svm.SVC()clf.fit(X,
HDFS Disk Balancer 介绍&使用
_Magic
Big Data hdfs hadoop 大数据
一、介绍一句话介绍:用于HDFSDataNode单节点内多个数据盘数据均衡。官网介绍如下:Diskbalancerisacommandlinetoolthatdistributesdataevenlyonalldisksofadatanode.ThistoolisdifferentfromBalancerwhichtakescareofcluster-widedatabalancing.Datac
设计Xnorgate FPGA同或门
CodeWG
fpga开发 matlab
设计XnorgateFPGA同或门同或门是一种基本的逻辑门电路,它的输出与输入相反当且仅当所有输入都相同。在这篇文章中,我们将会介绍如何使用FPGA实现Xnorgate同或门电路。首先,我们需要了解FPGA(FieldProgrammableGateArray)是一种可编程的数字逻辑芯片,它可以通过编程来实现各种数字逻辑电路。在本文中,我们将使用Altera公司的QuartusII软件来进行FPG
Python 爱心代码实现动态爱心图案展示
从以前
python python
引言在Python中,我们可以利用tkinter库来创建有趣的图形界面,本文将为大家分享一段使用tkinter库绘制动态爱心图案的代码,并详细介绍其实现逻辑与运行方法。一、代码功能概述这段Python代码借助tkinter库创建了一个窗口,在该窗口中能够绘制出一个动态的爱心图案,效果十分美观,接下来我们一起看看代码的具体内容。二、代码详解(一)导入必要的库和模块importrandomfromma
excel如何筛选重复项
牛马baby
excel
在Excel中筛选重复项有几种方法,下面列举其中两种常见的方法:方法一:使用“条件格式”功能选中需要筛选的数据列。在“开始”选项卡中,找到“条件格式”功能,点击下拉菜单选择“突出显示单元格规则”。选择“重复值”,这时重复的值将会被高亮显示出来。方法二:使用“删除重复项”功能选中需要筛选的数据列。在“数据”选项卡中,点击“删除重复项”。在弹出的对话框中,确保只选中了需要检查的列,然后点击“确定”。这
最新面试题【mybatis】
牛马baby
1024程序员节 java
1,#{},${}区别?#{}是占位符,可以避免SQL注入,~在执行时会将SQL中的#{}替换为?号。${}是拼接符2,实体类中的字段和表中不一致该如何处理?第一种通过起别名的方式。第二种使用resultmap进行一一对应3,动态SQL执行原理,有哪些?执行原理是使用OGNL从SQL参数对象中计算表达式的值,根据表达式的值完成逻辑判断并动态拼接SQL,有if,foreach,where,trim,
Spring AI提示词模板PromptTemplate的使用
大龄码农有梦想
AI人工智能 spring 人工智能 PromptTemplate Prompt提示词 提示词模板 Spring AI
本文重点介绍Prompt提示词和PromptTemplate提示词模板,在SpringAI框架里,Prompt类的设计旨在简化与LLM之间的交互过程,同时提供了足够的灵活性来满足不同类型的对话需求。通过合理利用Prompt及其内部的消息结构,开发者可以有效地引导LLM生成高质量的回答,提升用户体验。1、SpringBoot集成SpringAI框架如何基于Springboot集成SpringAI框架
Python从0到100(八十三):神经网络-使用残差网络RESNET识别手写数字
是Dream呀
python 神经网络 网络
前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知识,成为学习学习和学业的先行者!欢迎大家订阅专栏:零基础学Python:Python从0到100最新
使用 Python 实现自动化办公(邮件、Excel)
王子良.
python 经验分享 python 自动化 excel
目录一、Python自动化办公的准备工作1.1安装必要的库1.2设置邮件服务二、邮件自动化处理2.1发送邮件示例代码注意事项2.2接收和读取邮件示例代码三、Excel自动化处理3.1读取和写入Excel文件示例代码3.2数据处理和分析示例代码四、综合实例:从邮件中读取Excel附件并分析示例代码随着技术的进步,Python的高效性和易用性使其成为办公自动化的强大工具。通过Python,我们可以自动
多种vue前端框架介绍
灵魂清零
其他 前端 javascript
学如逆水行舟,不进则退。在现今的软件开发领域,Vue.js凭借其高效、灵活和易于上手的特性,成为了前端开发的热门选择。对于需要快速搭建企业级后台管理系统的开发者而言,使用现成的Vue后台管理系统模板无疑是一个明智之举。本文我为大家分享几款开源、免费开源、开箱即用的开源免费的Vue3开源管理后台,它们可以帮助你在项目中快速起步!专注于业务逻辑的开发。01.vue-element-adminGithu
用 Python Turtle 库绘制精美圣诞树教程
从以前
python python 信息可视化 github
摘要:本文将详细介绍如何使用Python的Turtle库来绘制一棵充满节日氛围的圣诞树,从代码的各个部分解读到最终呈现出完整的图形效果,带你一步步领略用代码创造节日美景的乐趣。文中包含完整代码及详细注释,帮助读者轻松理解并复现这个有趣的绘图项目。一、引言在圣诞节来临之际,我们可以通过编程的方式来增添节日的氛围,使用Python的Turtle库就能绘制出一棵漂亮的圣诞树哦!Turtle库提供了简单又
goland map学习-实践使用练习:判断存在及遍历
小鱼爱曲奇
Go 学习专栏 golang
对于数据:typePersonstruct{AddressstringAgeintJobstringNamestring}typePeoplemap[string]Personvarper=People{"1":Person{Address:"1",Age:1,Job:"1",Name:"1",},"2":Person{Address:"2",Age:2,Job:"2",Name:"2",},}对
Golang面试题: 两个goroutine交替打印1-100之间的奇数和偶数
xingyu97
Go golang 多线程
文章目录题目介绍做法一做法二做法三开心一刻一个国王要替公主征婚,把一个苹果放在公主头上,谁要把它射中就有机会迎娶公主。第一个男士把苹果射中,他说:“I’m罗宾。”第二个男士也把苹果射中,他说:“I’m后羿。”第三个男士不小心把公主射死了,他说:“I’msorry…"题目介绍使用两个goroutine交替打印1-100之间的奇数和偶数,输出时按照从小到大输出.做法一packagemainimport
C# WPF 使用LiveCharts绘制折线图的一些技巧
JingHua0327
c# wpf 开发语言
创作背景:近期项目由涉及到使用LiveCharts绘制曲线的需求,在项目推进过程中,反复去精进磨合,总结了一小部分关于LiveCharts使用的过程和技巧,整理如下:1、在NuGet程序包中搜索如下图所示的内容并添加到程序中。2、在需要使用LiveCharts的窗体中添加如下引用。xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts
python中graphviz 参数_python graphviz的使用(画图工具)
weixin_39900608
python中graphviz 参数
一、graphviz安装及配置graphviz实际上是一个绘图工具,可以根据dot脚本画出树形图等。1、windows安装配置环境变量:把bin文件夹的路径加入到环境变量path里安装python的graphviz模块:pipinstallgraphviz2、linuxcentos7安装yum下载graphviz软件:yum-yinstallgraphviz安装python的graphviz模块:
C++11 新特性总结
weixin_30955617
c/c++ 数据结构与算法
前言转载请注明出处,感谢!C++11的新特性1变量和基本类型1.1longlong类型扩展精度浮点数,10位有效数字1.2列表初始化初始化的几种不同形式,其中用花括号来初始化变量称为列表初始化;比如:inti=0;inti={0};inti{0};inti(0);需要注意的是,当用于内置类型的变量时,这种初始化形式有一个重要的特点:如果我们使用初始化且初始值存在丢失信息的风险,则编译器报错;例如:
直装永久授权,最新专业版集成VB7
纪元A梦
资源分享 科技 电脑软件 Windows软件 office软件
无论是学生、教师还是职场工作人员,办公软件在日常工作和学习中都是不可或缺的重要工具。在众多办公软件中,微软的MicrosoftOffice和金山软件的WPSOffice最常用的选择。对于许多使用要求不高的小伙伴而言,WPSOffice因其易用性和免费版本的优势,成为了他们的首选。此外,WPS的专业版相较于免费版没有广告,提供了更强大的功能,满足了更多用户的需求。这使得WPSOffice在办公软件市
【技巧】优雅的使用 pnpm 单体仓库构建一个高效、灵活的多项目架构
天下无贼!
前端必备技能 架构 前端 开发语言 vue.js react.js node.js
单体仓库(Monorepo)搭建指南:从零开始单体仓库(Monorepo)是一种将多个相关项目集中管理在一个仓库中的开发模式。它可以帮助开发者共享代码、统一配置,并简化依赖管理。本文将通过实际代码示例,详细介绍如何使用pnpm搭建一个单体仓库。1.创建项目目录mkdirxxx&&cdxxxmkdirmy-monorepo:mkdir是“makedirectory”的缩写,用于创建一个新的目录。xx
计算机网络基础知识点简记
UV Youth
计算机网络 网络
OSI七层网络模型TCP/IP四层网络模型模型图解IP地址与子网划分基础概念IPV4与IPV6的区别子网划分的目的子网掩码的使用CIDR表示法路由器与交换机TCP与UDP协议HTTP与HTTPS协议DNS域名系统网络攻击与防御机制网络安全协议网络性能优化云计算基础
Python调用讯飞星火大模型v3.x api接口使用教程2.0(python sdk,支持图片理解)
IT大头
NLP实战 python 人工智能 语言模型 nlp chatgpt
前言本篇文章是针对星火大模型api接口使用的新篇章,本次主要是介绍对于pythonSDK使用,以及图片理解等新功能。相对于上篇博客中的使用方法,本次的教程相对来说更简单方便。话不多说,直接享用。1、获取api接口的ID和key参考上篇文章:https://blog.csdn.net/qq_45156060/article/details/134072123?spm=1001.2014.3001.5
Jmeter进阶篇(33)报错Error occurred during initialization of VM Could not reserve enough space…的解决方案
綦枫Maple
Jmeter性能测试大全 jmeter
报错现象在使用Jmeter进行性能测试等操作时,可能会遇到各种各样的问题,其中一个比较常见的报错是在启动Jmeter的时候出现:ErroroccurredduringinitializationofVMCouldnotreserveenoughspacefor1048576KBobjectheaperrorlevel=1请按任意键继续...这个报错可能会让不少新手感到困惑,甚至会影响到性能测试工作
球球大作战Python单机版本
酷码编程接单空间
pygame python oracle django tornado fastapi
球球大作战是一个多人在线游戏,玩家需要控制一个小球,通过吞食地图上的小点来增加自己的体积,同时避免被其他更大的球体吞噬。下面是一个简化版的球球大作战游戏,使用Python语言和pygame库来实现。在这个简化版中,我们将只使用控制台输入输出来模拟游戏。首先,你需要安装pygame库,可以使用以下命令安装:pipinstallpygame然后,你可以使用以下代码来创建一个简化版的球球大作战游戏:im
如何使用批处理脚本批量终止占用特定端口的进程-windows
好奇的菜鸟
Tools windows
如何使用批处理脚本批量终止占用特定端口的进程在Windows操作系统中,有时我们会遇到需要终止占用某些端口的进程的情况。比如,当我们尝试启动某个程序时,发现该程序所需的端口已经被其他程序占用,导致无法正常运行。这时,我们就可以使用一个批处理脚本来快速查找并结束占用端口的进程。本文将展示如何编写一个批处理脚本,允许用户批量查找和终止占用特定端口的进程,并根据用户输入决定是否继续操作或退出。步骤一:编
MySQL多表连接查询详解与实例
Imaginaerum02
mysql 数据库 linux sql
目录内连接查询等值连接查询对连接后的查询结果,筛选、分组、排序、过滤非等值连接查询左连接右连接全外连接嵌套查询where之后嵌套查询having之后嵌套查询from之后嵌套查询(其使用效果不如内连接)select之后嵌套查询连接查询连接类型:内连接:innerjoin外联接:左外连接:leftjoin右外连接:rightjoin全外连接:union[all]连接方式:交叉连接:等值连接:不等值连接
【TOGAF系列】TOGAF核心概念第三章
东临碣石82
架构
3.1TOGAF标准是什么?TOGAF标准是一个架构框架。它提供了帮助接受、生产、使用和维护企业架构的方法和工具。它基于由最佳实践和一组可重用的现有架构资产支持的迭代过程模型。3.2TOGAF标准背景下的架构是什么?ISO/IEC/IEEE42010:2011将“架构”定义为:系统在其环境中的基本概念或属性,体现在其元素、关系以及设计和演化的原则中。TOGAF标准包含到不严格遵守ISO/IEC/I
JAVA:MyBatis 缓存机制详解的技术指南
拾荒的小海螺
JAVA java mybatis 缓存
1、简述MyBatis是Java开发中常用的持久层框架之一,通过面向对象的方式操作数据库。为了提高系统性能,MyBatis提供了两级缓存机制:一级缓存(本地缓存)和二级缓存(全局缓存)。本文将详细讲解MyBatis缓存机制的使用原理、配置方法,并通过示例展示如何合理地使用缓存优化数据访问效率。2、基础原理2.1一级缓存作用范围:一级缓存是基于SqlSession级别的缓存,即在同一个SqlSess
Python读取通达信日线数据(.day文件)
逝去的紫枫
Python python
Python读取通达信日线数据(.day文件)1.day文件位置2.day文件内容的构成3.Python代码识别day文件4.将识别结果输出为csv文件5.最终结果展示在金融数据分析中,通达信软件提供的数据文件(如日线数据文件.day)是非常宝贵的资源。本文将详细介绍如何使用Python读取和解析这些文件,并将解析结果输出为CSV文件,以便进行进一步的数据分析和处理。1.day文件位置通达信日线数
以Python构建ONE FACE管理界面:从基础至进阶的实战探索
Allen_LVyingbo
python python pyqt
一、引言1.1研究背景与意义在人工智能技术蓬勃发展的当下,面部识别技术凭借其独特优势,于安防、金融、智能终端等众多领域广泛应用。在安防领域,可助力监控系统精准识别潜在威胁人员,提升公共安全保障水平;金融行业中,实现刷脸支付、远程开户等便捷服务,优化用户体验并强化交易安全。智能终端方面,为设备解锁、身份验证等功能提供支持,提升设备使用的便捷性与安全性。然而,现有面部识别系统在数据安全、检索效率及用户
Python模块学习:glob 文件路径查找
semiler
python python glob
文章转载自《伯乐在线》原文出处:DarkbullPython模块学习:glob文件路径查找glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:”*”,“?”,“[]“。”*”匹配0个或多个字符;”?”匹配单个字符;”[]“匹配指定范围内的字符,如:[0-9]匹配数字。glob.glob返回所有匹配的文件
安装数据库首次应用
Array_06
java oracle sql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
IllegalStateException: Cannot forward a response that is already committed
Cwind
java Servlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oracle sql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
Python调试
矮蛋蛋
python pdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
spring aop实例annotation方法实现
bijian1013
java spring AOP annotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
[Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
Netty源码学习-ReadTimeoutHandler
bylijinnan
java netty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
jquery验证上传文件样式及大小(好用)
cngolon
文件上传 jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
浏览器兼容【转】
cuishikuan
css 浏览器 IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell $# $? 特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
Java 打开浏览器
hw1287789687
打开网址 open浏览器 open browser 打开url 打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chrome Google google api chrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
java DAO 设计模式 AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {