contentEditable,window.getSelection详解---可编辑div,容器,设置/获取光标位置,光标处插入内容及光标的操作

这周碰到一个东西,contentEditable ,它是用来指定一个元素是否是可编辑的,这也是富文本编辑器实现的底层支持,网上关于这部分东西的资料比较少或者不全,所以我来整理下关于这个属性,和可编辑区域的一些操作吧,比如获取光标位置,设置光标,往可编辑区域光标处插入内容等等

HTML中的contentEditable的属性可以打开某些元素的可编辑状态.也许你没用过contentEditable属性.甚至从未听说过.contentEditable的作用相当神奇.可以让div或整个网页,以及span等等元素设置为可写。我们最常用的输入文本内容便是input与textarea,使用contentEditable属性后,可以在div,table,p,span,body,等等很多元素中输入内容.

设置一个容器为可编辑区域:设置contentEditable属性


	

grsd

rsdgsdg

contentEditable,window.getSelection详解---可编辑div,容器,设置/获取光标位置,光标处插入内容及光标的操作_第1张图片

设置placeholder:
这个不像表单一样,给属性加上placeholder属性指定值就可以了,还需要配合特殊的样式:empty做设置

	<style type="text/css">
			.content:empty::before {
    
				content: attr(placeholder);
				font-size: 14px;
				color: #CCC;
				line-height: 21px;
				padding-top: 20px;
			}
			.content {
    
				border: 1px solid black;
			}
		style>
	<body>
		<div contentEditable class="content" placeholder="请输入不少于150字">div>
	body>

在这里插入图片描述

回车时,在标记生成上的不同点

因为各个浏览器在标记生成上的不同,因此跨浏览器使用 contenteditable 一直以来都是痛点,例如一些看起来十分简单的事情,如: 当你按下Enter/Return键在可编辑区域中创建一个新的文本行时,不同主流浏览器对此有不同处理(Firefox 插入
、IE/Opera将使用

、 Chrome/Safari 将使用

)幸运的是在现代浏览器中,这些不同都趋于一致了。截止到Firefox 60,火狐开始使用
元素来包裹新生成的文本行,以与Chrome, modern Opera, Edge, and Safari.的行为趋于一致
在这里插入图片描述

改变回车时插入的标签:
如果你想使用不同的方式创建新的段落,上面所有浏览器都支持document.execCommand方法,该方法提供的 defaultParagraphSeparator 命令能够让你以不同的方式创建新的段落例如, 使用

元素:

document.execCommand("defaultParagraphSeparator", false, "p");

现在在编辑器中按回车就变成p标签了
在这里插入图片描述


document.execCommand的强大:

上面只是document.execCommand的一个命令演示

当一个HTML文档切换到设计模式时,document暴露 execCommand 方法,该方法允许运行命令来操纵可编辑内容区域的元素。
大多数命令影响document的 selection(粗体,斜体等),当其他命令插入新元素(添加链接)或影响整行(缩进)。当使用contentEditable时,调用 execCommand() 将影响当前活动的可编辑元素

命令很多,这里就不列举出来,具体可以参考官方文档document.execCommand命令大全

基于document.execCommand的这些命令我们可以做一个小型的富文本编辑器:


<html>
	<head>
		<title>Rich Text Editortitle>
		<script type="text/javascript">
			var oDoc, sDefTxt;

			function initDoc() {
    
				oDoc = document.getElementById("textBox");
				sDefTxt = oDoc.innerHTML;
				if(document.compForm.switchMode.checked) {
    
					setDocMode(true);
				}
			}

			function formatDoc(sCmd, sValue) {
    
				if(validateMode()) {
    
					document.execCommand(sCmd, false, sValue);
					oDoc.focus();
				}
			}

			function validateMode() {
    
				if(!document.compForm.switchMode.checked) {
    
					return true;
				}
				alert("Uncheck \"Show HTML\".");
				oDoc.focus();
				return false;
			}

			function setDocMode(bToSource) {
    
				var oContent;
				if(bToSource) {
    
					oContent = document.createTextNode(oDoc.innerHTML);
					oDoc.innerHTML = "";
					var oPre = document.createElement("pre");
					oDoc.contentEditable = false;
					oPre.id = "sourceText";
					oPre.contentEditable = true;
					oPre.appendChild(oContent);
					oDoc.appendChild(oPre);
					document.execCommand("defaultParagraphSeparator", false, "div");
				} else {
    
					if(document.all) {
    
						oDoc.innerHTML = oDoc.innerText;
					} else {
    
						oContent = document.createRange();
						oContent.selectNodeContents(oDoc.firstChild);
						oDoc.innerHTML = oContent.toString();
					}
					oDoc.contentEditable = true;
				}
				oDoc.focus();
			}

			function printDoc() {
    
				if(!validateMode()) {
    
					return;
				}
				var oPrntWin = window.open("", "_blank", "width=450,height=470,left=400,top=100,menubar=yes,toolbar=no,location=no,scrollbars=yes");
				oPrntWin.document.open();
				oPrntWin.document.write("Print<\/title><\/head><body οnlοad=\"print();\">"</span> <span class="token operator">+</span> oDoc<span class="token punctuation">.</span>innerHTML <span class="token operator">+</span> <span class="token string">"<\/body><\/html>"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
				oPrntWin<span class="token punctuation">.</span>document<span class="token punctuation">.</span><span class="token function">close</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
			<span class="token punctuation">}</span>
		</span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span>
		<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>style</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>text/css<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token style language-css">
			<span class="token selector">.intLink</span> <span class="token punctuation">{
    </span>
				<span class="token property">cursor</span><span class="token punctuation">:</span> pointer<span class="token punctuation">;</span>
			<span class="token punctuation">}</span>
			
			<span class="token selector">img.intLink</span> <span class="token punctuation">{
    </span>
				<span class="token property">border</span><span class="token punctuation">:</span> 0<span class="token punctuation">;</span>
			<span class="token punctuation">}</span>
			
			<span class="token selector">#toolBar1 select</span> <span class="token punctuation">{
    </span>
				<span class="token property">font-size</span><span class="token punctuation">:</span> 10px<span class="token punctuation">;</span>
			<span class="token punctuation">}</span>
			
			<span class="token selector">#textBox</span> <span class="token punctuation">{
    </span>
				<span class="token property">width</span><span class="token punctuation">:</span> 540px<span class="token punctuation">;</span>
				<span class="token property">height</span><span class="token punctuation">:</span> 200px<span class="token punctuation">;</span>
				<span class="token property">border</span><span class="token punctuation">:</span> 1px #000000 solid<span class="token punctuation">;</span>
				<span class="token property">padding</span><span class="token punctuation">:</span> 12px<span class="token punctuation">;</span>
				<span class="token property">overflow</span><span class="token punctuation">:</span> scroll<span class="token punctuation">;</span>
			<span class="token punctuation">}</span>
			
			<span class="token selector">#textBox #sourceText</span> <span class="token punctuation">{
    </span>
				<span class="token property">padding</span><span class="token punctuation">:</span> 0<span class="token punctuation">;</span>
				<span class="token property">margin</span><span class="token punctuation">:</span> 0<span class="token punctuation">;</span>
				<span class="token property">min-width</span><span class="token punctuation">:</span> 498px<span class="token punctuation">;</span>
				<span class="token property">min-height</span><span class="token punctuation">:</span> 200px<span class="token punctuation">;</span>
			<span class="token punctuation">}</span>
			
			<span class="token selector">#editMode label</span> <span class="token punctuation">{
    </span>
				<span class="token property">cursor</span><span class="token punctuation">:</span> pointer<span class="token punctuation">;</span>
			<span class="token punctuation">}</span>
		</span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>style</span><span class="token punctuation">></span></span>
	<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>head</span><span class="token punctuation">></span></span>

	<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>body</span> <span class="token attr-name">onload</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>initDoc();<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
		<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>form</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>compForm<span class="token punctuation">"</span></span> <span class="token attr-name">method</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>post<span class="token punctuation">"</span></span> <span class="token attr-name">action</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>sample.php<span class="token punctuation">"</span></span> <span class="token attr-name">onsubmit</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>if(validateMode()){this.myDoc.value=oDoc.innerHTML;return true;}return false;<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
			<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>hidden<span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>myDoc<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
			<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>toolBar1<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
				<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>select</span> <span class="token attr-name">onchange</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>formatDoc(<span class="token punctuation">'</span>formatblock<span class="token punctuation">'</span>,this[this.selectedIndex].value);this.selectedIndex=0;<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
					<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>option</span> </span></code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1722529325351251968"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(前端,js,contenteditable,getSelection,前端,js,contenteditable,可编辑div,p,容器)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1946650166366892032.htm"
                           title="CentOS 7如何平滑升级 MariaDB 5.5 到 10.x 新版本" target="_blank">CentOS 7如何平滑升级 MariaDB 5.5 到 10.x 新版本</a>
                        <span class="text-muted">Herotwins</span>
<a class="tag" taget="_blank" href="/search/CentOS/1.htm">CentOS</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/mariadb/1.htm">mariadb</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                        <div>前言自从CentOS7开始,自带的数据库就变成MariaDB了,yum安装之后的默认版本是5.5,但是该版本不能满足Zabbix的需求,需要升级。无论是安装全新的还是升级MariaDB第一步始终是不要忘记备份。备份数据库重要的事情说三遍,备份,备份,备份!#备份数据库,如果升级顺利是不要实施备份还原的mysqldump-uroot-p--all-databases>alldb.sql#如果想保留自</div>
                    </li>
                    <li><a href="/article/1946650038616780800.htm"
                           title="前后端分离项目中的接口设计与调用流程——以高仙机器人集成为例" target="_blank">前后端分离项目中的接口设计与调用流程——以高仙机器人集成为例</a>
                        <span class="text-muted">南山隐栈</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BB%E5%AE%9E%E6%88%98/1.htm">前后端分离实战</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">机器人</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/intellij-idea/1.htm">intellij-idea</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/ruoyi/1.htm">ruoyi</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、背景介绍在前后端分离项目开发中,前端页面需要频繁调用后端接口获取数据。在高仙机器人对接项目中,我们采用了若依(RuoYi)框架,前端通过统一的API封装与后端进行数据交互,而后端再对接高仙官方的OPENAPI实现数据获取。这里梳理一下接口调用链路和关键点,作为开发经验记录。二、前后端接口调用的链路1.前端请求(以获取机器人地图列表为例)//src/api/gsrobot.jsexportfun</div>
                    </li>
                    <li><a href="/article/1946647387002957824.htm"
                           title="postman请求接口时自动生成sign签名" target="_blank">postman请求接口时自动生成sign签名</a>
                        <span class="text-muted">小牛_6666</span>

                        <div>当我们使用postman测试接口时,经常会遇到接口签名,由于签名随参数而变化,导致测试起来很头疼。通过查postman的使用文档,发现可以用Pre-requestScript来生成sign。Pre-requestScript的语法和js类似,可以在发起请求之前,对参数进行处理。下边以微信H5支付签名算法为例来自动生成sign签名1,签名规则第一步设所有发送或者接收到的数据为集合M,将集合M内非空参</div>
                    </li>
                    <li><a href="/article/1946646251944603648.htm"
                           title="前后端分离式项目架构流程(爆肝三万字)" target="_blank">前后端分离式项目架构流程(爆肝三万字)</a>
                        <span class="text-muted">信计2102罗铠威</span>
<a class="tag" taget="_blank" href="/search/javaEE%E7%B3%BB%E5%88%97%E4%B8%93%E6%A0%8F/1.htm">javaEE系列专栏</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BB%E5%BC%8F%E6%9E%B6%E6%9E%84/1.htm">前后端分离式架构</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B/1.htm">项目开发流程</a>
                        <div>文章目录个人主页:信计2102罗铠威JavaEE系列专栏前言:【前端】先创建Vue-cli项目,请选择此项目【创建路由】打开命令行工具,进入你的项目目录,输入下面命令。1.创建router目录~创建index.js文件,在其中配置路由2.在APP.vue中添加路由视图3.在main.js中配置路由【配置ElementUI】【如何使背景图片最大自适应】【登录组件模板】【注册组件模板】【创建后端项目+</div>
                    </li>
                    <li><a href="/article/1946633507585454080.htm"
                           title="用 Next.js 实现静态与动态渲染的完美平衡" target="_blank">用 Next.js 实现静态与动态渲染的完美平衡</a>
                        <span class="text-muted">荣华富贵8</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9A%84%E7%9F%A5%E8%AF%86%E5%82%A8%E5%A4%872/1.htm">程序员的知识储备2</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9A%84%E7%9F%A5%E8%AF%86%E5%82%A8%E5%A4%873/1.htm">程序员的知识储备3</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、引言随着Web应用的复杂度不断提升,渲染性能与用户体验成为开发者与产品运营方关注的核心问题。静态站点生成(StaticSiteGeneration,SSG)与服务器端渲染(Server-SideRendering,SSR)各有优劣:前者在首屏加载速度和CDN分发方面表现卓越,而后者在动态内容更新和个性化体验上占据优势。Next.js作为React生态中领先的全栈框架,通过getStaticPr</div>
                    </li>
                    <li><a href="/article/1946627706519089152.htm"
                           title="React Query 优化数据获取与缓存策略" target="_blank">React Query 优化数据获取与缓存策略</a>
                        <span class="text-muted">大富大贵7</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9F%A5%E8%AF%86%E5%82%A8%E5%A4%871/1.htm">程序员知识储备1</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9F%A5%E8%AF%86%E5%82%A8%E5%A4%872/1.htm">程序员知识储备2</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9F%A5%E8%AF%86%E5%82%A8%E5%A4%873/1.htm">程序员知识储备3</a><a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%BE%91%E5%99%A8/1.htm">编辑器</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a>
                        <div>引言随着前端应用规模与复杂度的不断提升,如何高效地获取、缓存以及同步服务端数据,成为提升用户体验和系统性能的关键课题。ReactQuery(现更名为TanStackQuery)凭借其轻量、灵活、可扩展的设计,已成为React社区管理服务端状态的事实标准库。本文将深入探讨ReactQuery在数据获取与缓存策略上的原理与实践,结合HTTP缓存理论、分布式系统一致性以及响应式编程等多学科知识,呈现一套</div>
                    </li>
                    <li><a href="/article/1946627074647191552.htm"
                           title="React.js前端框架的性能优化的误区与解决方法" target="_blank">React.js前端框架的性能优化的误区与解决方法</a>
                        <span class="text-muted">前端视界</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%A4%A7%E6%95%B0%E6%8D%AE%E4%B8%8EAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">前端大数据与AI人工智能</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E8%89%BA%E5%8C%A0%E9%A6%86/1.htm">前端艺匠馆</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>React.js前端框架的性能优化的误区与解决方法关键词:React性能优化、虚拟DOM、渲染优化、组件设计、代码分割、状态管理、性能分析工具摘要:本文深入探讨React.js应用开发中常见的性能优化误区,分析其背后的原理和影响,并提供切实可行的解决方案。文章将从React核心机制入手,剖析虚拟DOM工作原理,揭示不当优化策略可能带来的反效果,并给出基于最佳实践的优化方案。通过实际代码示例、性能对</div>
                    </li>
                    <li><a href="/article/1946625689457324032.htm"
                           title="前端构建工具 Webpack 5 的优化策略与高级配置" target="_blank">前端构建工具 Webpack 5 的优化策略与高级配置</a>
                        <span class="text-muted">码力无边-OEC</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/webpack/1.htm">webpack</a><a class="tag" taget="_blank" href="/search/web/1.htm">web</a>
                        <div>前端构建工具Webpack5的优化策略与高级配置当你的项目启动需要一分钟,或者每次热更新都像在“编译整个宇宙”时,你可能已经意识到了一个问题:前端构建性能,正成为开发效率的瓶颈。Webpack作为现代前端开发的基石,其配置的优劣直接决定了项目的开发体验和最终产物的质量。奇怪的是,很多开发者满足于脚手架生成的默认配置,却忽略了Webpack5带来的巨大优化潜力。本文将深入Webpack5的核心,带你</div>
                    </li>
                    <li><a href="/article/1946622791071625216.htm"
                           title="Day02: BeanDefinition的注册艺术:揭秘@ComponentScan如何转化为Spring灵魂" target="_blank">Day02: BeanDefinition的注册艺术:揭秘@ComponentScan如何转化为Spring灵魂</a>
                        <span class="text-muted">zhysunny</span>
<a class="tag" taget="_blank" href="/search/Spring/1.htm">Spring</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>目录一、从@ComponentScan说起:Spring的组件扫描入口二、BeanDefinition:Spring容器的DNA三、ClassPathBeanDefinitionScanner:Spring的"扫雷专家"1.扫描器的初始化2.扫描器的核心配置3.扫描过程揭秘4.候选组件的查找:findCandidateComponents()四、元数据处理:注解如何转化为Bean属性五、实战:自定</div>
                    </li>
                    <li><a href="/article/1946619009608773632.htm"
                           title="Spring源码之扫描器(AnnotatedBeanDefinitionReader和ClassPathBeanDefinitionScanner)(三)" target="_blank">Spring源码之扫描器(AnnotatedBeanDefinitionReader和ClassPathBeanDefinitionScanner)(三)</a>
                        <span class="text-muted">夜半听风醉</span>
<a class="tag" taget="_blank" href="/search/Spring%E6%BA%90%E7%A0%81%E4%B8%93%E9%A2%98/1.htm">Spring源码专题</a>
                        <div>前言Spring容器加载Bean定义信息的两个扫描器:AnnotatedBeanDefinitionReader和ClassPathBeanDefinitionScanner*从命名来看,前者是读取注解声明的bean的定义信息;后者是读取xml声明的bean的定义信息本文将详细介绍这两个扫描器的初始化过程1.准备工作1.初始化一个spring容器对象2.断点调试,跟踪查看扫描器的初始化过程2.源码</div>
                    </li>
                    <li><a href="/article/1946617747320401920.htm"
                           title="Java安全:SpringBoot项目中Fastjson组件的使用与安全实践" target="_blank">Java安全:SpringBoot项目中Fastjson组件的使用与安全实践</a>
                        <span class="text-muted">rockmelodies</span>
<a class="tag" taget="_blank" href="/search/java%E5%AE%89%E5%85%A8/1.htm">java安全</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a>
                        <div>前言Fastjson是阿里巴巴开源的一个高性能JavaJSON库,广泛用于Java对象的序列化和反序列化操作。在SpringBoot项目中,Fastjson常被用作JSON处理工具。然而,Fastjson因其高性能而广受欢迎的同时,也因多次爆出的安全漏洞而备受关注。本文将介绍如何在SpringBoot项目中正确使用Fastjson,并讨论相关的安全实践。一、SpringBoot项目中集成Fastj</div>
                    </li>
                    <li><a href="/article/1946616487884156928.htm"
                           title="Kubernetes学习笔记(四)--Pod 状态与生命周期管理" target="_blank">Kubernetes学习笔记(四)--Pod 状态与生命周期管理</a>
                        <span class="text-muted">Mr小三</span>
<a class="tag" taget="_blank" href="/search/Kubernetes/1.htm">Kubernetes</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a>
                        <div>文章目录四、Pod状态与生命周期管理1.Pod概念网络存储用法pod的终止2.Init容器init模板用途3.Pause容器4.Pod的生命周期Podphase(阶段)Pod状态5.Pod健康-容器探针(Probe)概念EXEC探针HTTP探针TCPSocket探针四、Pod状态与生命周期管理Pod是kubernetes中最重要的基本概念,在kubernetes中最小的管理元素不是一个个独立的容器</div>
                    </li>
                    <li><a href="/article/1946616487225651200.htm"
                           title="HTML+CSS+JS" target="_blank">HTML+CSS+JS</a>
                        <span class="text-muted">binzhenliziyuan</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                        <div>HTML+CSS+JSHTML基础1.HTML文件中的DOCTYPE是什么作用?2.HTML、XML、XHTML之间有什么区别?3.前缀为data-开头的元素属性是什么?4.谈谈你对HTML语义化的理解?5.HTML5对比HTML4有哪些不同之处?6.meta标签有哪些常用用法?7.img标签的srcset的作用是什么?8.响应式图片处理优化:Picture标签9.在script标签上使用defe</div>
                    </li>
                    <li><a href="/article/1946616360863854592.htm"
                           title="Windows 安装 nvm-windows(Node.js 版本管理器)" target="_blank">Windows 安装 nvm-windows(Node.js 版本管理器)</a>
                        <span class="text-muted">听听你说的--</span>
<a class="tag" taget="_blank" href="/search/nuxt/1.htm">nuxt</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a>
                        <div>Windows安装nvm-windows(Node.js版本管理器)教程✅第一步:卸载旧版Node.js(如已安装)打开「控制面板」→「程序和功能」找到Node.js,点击卸载确保命令行输入node-v显示不是命令,表示已卸载干净✅第二步:下载安装nvm-windows下载地址:nvm-windowsGitHubReleases下载方式:找到最新版本(如1.1.12)点击下载nvm-setup.e</div>
                    </li>
                    <li><a href="/article/1946614718672203776.htm"
                           title="Kubernetes 集群简介 部署搭建 及常用命令" target="_blank">Kubernetes 集群简介 部署搭建 及常用命令</a>
                        <span class="text-muted">GHY@CloudGuardian</span>
<a class="tag" taget="_blank" href="/search/Kubernetes/1.htm">Kubernetes</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>Kubernetes集群简介Kubernetes(简称K8s)是一个开源的容器编排平台,用于自动化容器化应用的部署、扩展和管理。它为容器提供了一个完整的管理框架,帮助开发者和运维团队在大规模环境中高效地部署和管理应用。Kubernetes集群是由多个组件组成的,主要包括控制平面和工作节点。集群的核心目的是确保容器化应用的高可用性、可扩展性、负载均衡、自动化部署等功能。Kubernetes集群的基本</div>
                    </li>
                    <li><a href="/article/1946613710457991168.htm"
                           title="大前端几种开发语言对比" target="_blank">大前端几种开发语言对比</a>
                        <span class="text-muted">Fighting Horse</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/swift/1.htm">swift</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a>
                        <div>项目概述语言特性备注基本类型BasicOperators整数、浮点数C++整数类型宽度不固定,如int,自动数值类型转换Java没有无符号整数,存在装箱Box类型C#Swift基本tuple类型KotlinT?是Box的支持原生类型数组IntArray等无符号整数是Beta的,通过内联类实现Dart运算符BasicOperators赋值、流程、算术、位、逻辑、关系运算符下标、后缀、前缀运算符三元条</div>
                    </li>
                    <li><a href="/article/1946613709526855680.htm"
                           title="【云原生】Helm来管理Kubernetes集群的详细使用方法与综合应用实战" target="_blank">【云原生】Helm来管理Kubernetes集群的详细使用方法与综合应用实战</a>
                        <span class="text-muted">景天科技苑</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9FK8S/1.htm">云原生K8S</a><a class="tag" taget="_blank" href="/search/%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%88%B0%E8%BF%9B%E9%98%B6%E5%AE%9E%E6%88%98/1.htm">零基础到进阶实战</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/Helm/1.htm">Helm</a><a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a><a class="tag" taget="_blank" href="/search/k8s%E9%9B%86%E7%BE%A4/1.htm">k8s集群</a>
                        <div>✨✨欢迎大家来到景天科技苑✨✨养成好习惯,先赞后看哦~作者简介:景天科技苑《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,云原生k8s,linux,she</div>
                    </li>
                    <li><a href="/article/1946613471357497344.htm"
                           title="【泽宇读书会18】突发事件打乱所有计划,四大法则傍身,谁来也不怕!" target="_blank">【泽宇读书会18】突发事件打乱所有计划,四大法则傍身,谁来也不怕!</a>
                        <span class="text-muted">暴富的小青</span>

                        <div>阅读《高效能人士的时间管理课:不可不知的8项黄金法则》P46-61第四天,进度只有20页。我们经常经常会碰到这样一种情况:花了很长时间制定好自己的一份完美的计划清单。当准备重新开始美好的一天时,却发现自己办公桌堆满新的任务,工作如大海波浪,一波未平一波又起,而且每一波都会被注明是“紧急任务”,看看计划清单,再看看堆积如山的新任务,瞬间更加焦虑了。元亨利在《高效能人士的时间管理课:不可不知的8项黄金</div>
                    </li>
                    <li><a href="/article/1946612827640885248.htm"
                           title="Node+OBS直播服务器搭建总结" target="_blank">Node+OBS直播服务器搭建总结</a>
                        <span class="text-muted">马克关</span>
<a class="tag" taget="_blank" href="/search/Node%E6%95%99%E7%A8%8B/1.htm">Node教程</a><a class="tag" taget="_blank" href="/search/%E7%9B%B4%E6%92%AD/1.htm">直播</a><a class="tag" taget="_blank" href="/search/node/1.htm">node</a><a class="tag" taget="_blank" href="/search/obs/1.htm">obs</a>
                        <div>导语:最近研究了一下网页直播流的原理以及实现,现在就目前的实现方法做一个总结。目录直播流媒体协议拉流与推流Node服务搭建前端播放页面OBS推流配置直播流媒体协议先来了解一下基本的直播流媒体协议。http-flv,rtpm协议/特点开发者原理优点缺点http-flvAbode通过服务器把flv下载到本地缓存,然后通过NetConnection本地连接播放节省服务器消耗保密性差rtmpAbode通过</div>
                    </li>
                    <li><a href="/article/1946612449784426496.htm"
                           title="KL散度:信息差异的量化标尺 | 从概率分布对齐到模型优化的核心度量" target="_blank">KL散度:信息差异的量化标尺 | 从概率分布对齐到模型优化的核心度量</a>
                        <span class="text-muted"></span>

                        <div>不对称性、计算本质与机器学习的普适应用本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!一、核心定义与数学本质KL散度(Kullback-LeiblerDivergence)用于衡量两个概率分布PPP和QQQ的差异程度,定义为:DKL(P∥Q)=∑x∈XP(x)log⁡P(x)Q(x)(离散形式)D_</div>
                    </li>
                    <li><a href="/article/1946612068400558080.htm"
                           title="MAP最大后验估计:贝叶斯决策的优化引擎" target="_blank">MAP最大后验估计:贝叶斯决策的优化引擎</a>
                        <span class="text-muted">大千AI助手</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/OTHER/1.htm">OTHER</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%B4%9D%E5%8F%B6%E6%96%AF/1.htm">贝叶斯</a><a class="tag" taget="_blank" href="/search/MAP/1.htm">MAP</a><a class="tag" taget="_blank" href="/search/%E6%A6%82%E7%8E%87%E8%AE%BA/1.htm">概率论</a><a class="tag" taget="_blank" href="/search/%E6%9D%A1%E4%BB%B6%E6%A6%82%E7%8E%87/1.htm">条件概率</a>
                        <div>融合先验知识与观测数据的概率推断方法本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!一、核心概念与数学本质MAP(MaximumAPosteriori)估计是贝叶斯框架下的参数估计方法,其目标为:最大化后验概率(P(\theta\midX)),即:[\hat{\theta}{MAP}=\arg\ma</div>
                    </li>
                    <li><a href="/article/1946610049350692864.htm"
                           title="【Docker】容器被停止/删除的方式及命令:全面解析与实践指南" target="_blank">【Docker】容器被停止/删除的方式及命令:全面解析与实践指南</a>
                        <span class="text-muted">阿猿收手吧!</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Docker/1.htm">Docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/dubbo/1.htm">dubbo</a><a class="tag" taget="_blank" href="/search/eureka/1.htm">eureka</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a>
                        <div>文章目录引言一、容器的生命周期二、停止容器的命令及方式1.`dockerstop`命令2.`dockerkill`命令3.`dockerpause`和`dockerunpause`命令4.`dockerrestart`命令三、删除容器的命令及方式1.`dockerrm`命令2.`dockercontainerprune`命令3.`dockerrm`与`dockerrmi`的区别四、容器停止与删除的</div>
                    </li>
                    <li><a href="/article/1946607611466018816.htm"
                           title="复读机哪个牌子好,十大学习机品牌内部隐藏优惠券排行榜揭秘" target="_blank">复读机哪个牌子好,十大学习机品牌内部隐藏优惠券排行榜揭秘</a>
                        <span class="text-muted">古楼</span>

                        <div>复读机品牌排行榜-复读机内部隐藏优惠券哪个品牌好太爽了!揭秘!查看更多关于复读机品牌排行榜-复读机内部隐藏优惠券哪个品牌好太爽了!揭秘!的文章我在這裏特整理了10這合大學生的高顏值強性能復讀機學習機,在機身整體設計上並沒有增加厚度以尋求更好的散熱效果;而且拯救者R9000P2021的輕薄設計及精致的外觀打造特別符合現代年輕人的審美觀。聯想拯救者R9000P2021搭配16.1寸的2.5K高刷屏幕,</div>
                    </li>
                    <li><a href="/article/1946607398999355392.htm"
                           title="Promise与Axios:异步编程" target="_blank">Promise与Axios:异步编程</a>
                        <span class="text-muted">evergreen198</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、解决回调嵌套/回调地狱(代码1-展示axios链式调用)1.1传统回调-回调地狱如果没有Promise,我们可能需要这样写:axios({url:'http://hmajax.itheima.net/api/province'}).then((provinceResult)=>{constpname=provinceResult.data.list[0];console.log('省份:',p</div>
                    </li>
                    <li><a href="/article/1946606265459339264.htm"
                           title="html css js网页制作成品——HTML+CSS中国古代物理 - 中华优秀传统文化网页设计(4页)附源码" target="_blank">html css js网页制作成品——HTML+CSS中国古代物理 - 中华优秀传统文化网页设计(4页)附源码</a>
                        <span class="text-muted">软件技术NINI</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E9%A1%B5%E6%BA%90%E7%A0%81/1.htm">网页源码</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>目录一、‍网站题目二、✍️网站描述三、网站介绍四、网站效果五、代码实现HTML</div>
                    </li>
                    <li><a href="/article/1946605507607326720.htm"
                           title="服务器清理空间--主要是conda环境清理和删除" target="_blank">服务器清理空间--主要是conda环境清理和删除</a>
                        <span class="text-muted"></span>

                        <div>1.查看空间情况(base)zhouy24@RL-DSlab:~/zhouy24Files$df-hFilesystemSizeUsedAvailUse%Mountedonudev252G0252G0%/devtmpfs51G4.9M51G1%/run/dev/nvme0n1p31.9T1.7T42G98%/tmpfs252G800M252G1%/dev/shmtmpfs5.0M4.0K5.0M1</div>
                    </li>
                    <li><a href="/article/1946601980306714624.htm"
                           title="Python类中魔术方法(Magic Methods)完全指南:从入门到精通" target="_blank">Python类中魔术方法(Magic Methods)完全指南:从入门到精通</a>
                        <span class="text-muted">盛夏绽放</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>文章目录Python类中魔术方法(MagicMethods)完全指南:从入门到精通一、魔术方法基础1.什么是魔术方法?2.魔术方法的特点二、常用魔术方法分类详解1.对象创建与初始化2.对象表示与字符串转换3.比较运算符重载4.算术运算符重载5.容器类型模拟6.上下文管理器7.可调用对象三、高级魔术方法1.属性访问控制2.描述符协议3.数值类型转换四、魔术方法最佳实践五、综合案例:自定义分数类Pyt</div>
                    </li>
                    <li><a href="/article/1946601474272325632.htm"
                           title="HTML与HTML5知识点复习整理" target="_blank">HTML与HTML5知识点复习整理</a>
                        <span class="text-muted">bottle Shen</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>**本篇文章食用的简单说明**本篇文章为复习HTML与HTML5进行了知识点梳理,其中标题六部分涉及CSS知识(有标注),加粗部分为重点!!!加粗加红为重重点!!!如有遗漏欢迎在评论区补充~推荐大家按记忆梳理部分的内容自行回忆知识点,如有遗忘部分在左下方目录处点击相应部分可以进行跳转。又是努力学习前端的一天,希望大家共同进步~~~(QAQ我只是一个表情)❤***记忆梳理***一、HTML是什么二、</div>
                    </li>
                    <li><a href="/article/1946598069940318208.htm"
                           title="html js 查询数据库,如何使用javascript查询数据库?" target="_blank">html js 查询数据库,如何使用javascript查询数据库?</a>
                        <span class="text-muted"></span>

                        <div>小编典典Javascript本身不能用于处理数据库。这是使用php(或您选择的服务器端语言)完成的。Ajax用于使用javascript向您的php脚本发送请求,而javascript则会与数据库进行通信。而且不需要页面刷新。因此,您尝试使用ajax可以轻松实现。既然您提到了jquery,就可以在jquery中签出$.ajax或$.post方法,这使过程更加简单。您需要使用ajax处理表单。Aja</div>
                    </li>
                    <li><a href="/article/1946597943087788032.htm"
                           title="html sql连接mysql数据库_HTML连接sql数据库" target="_blank">html sql连接mysql数据库_HTML连接sql数据库</a>
                        <span class="text-muted">旋风1968</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/sql%E8%BF%9E%E6%8E%A5mysql%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">sql连接mysql数据库</a>
                        <div>怎样从HTML网页中获取SQL数据库里的数据我现在是一名学生,第一学期快结束了,老师要CSS布局HTML小编今天和大家分享我们每个学习小组用C#做HTML是无法读取数据库的,HTML是页面前端脚本语言,要想从HTML网页中获取SQL数据库里的数据,需要借助JSP或ASP或PHP或RUBY等语言来实现。简单的关系可以这样理解:数据库JSP或ASP或PHP或RUBY等语言HTML如:在JSP页面中显示</div>
                    </li>
                                <li><a href="/article/66.htm"
                                       title="项目中 枚举与注解的结合使用" target="_blank">项目中 枚举与注解的结合使用</a>
                                    <span class="text-muted">飞翔的马甲</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/annotation/1.htm">annotation</a>
                                    <div>前言:版本兼容,一直是迭代开发头疼的事,最近新版本加上了支持新题型,如果新创建一份问卷包含了新题型,那旧版本客户端就不支持,如果新创建的问卷不包含新题型,那么新旧客户端都支持。这里面我们通过给问卷类型枚举增加自定义注解的方式完成。顺便巩固下枚举与注解。 
 
一、枚举 
1.在创建枚举类的时候,该类已继承java.lang.Enum类,所以自定义枚举类无法继承别的类,但可以实现接口。 
 
   </div>
                                </li>
                                <li><a href="/article/193.htm"
                                       title="【Scala十七】Scala核心十一:下划线_的用法" target="_blank">【Scala十七】Scala核心十一:下划线_的用法</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a>
                                    <div>下划线_在Scala中广泛应用,_的基本含义是作为占位符使用。_在使用时是出问题非常多的地方,本文将不断完善_的使用场景以及所表达的含义 
  1. 在高阶函数中使用 
scala> val list = List(-3,8,7,9)
list: List[Int] = List(-3, 8, 7, 9)

scala> list.filter(_ > 7)
r</div>
                                </li>
                                <li><a href="/article/320.htm"
                                       title="web缓存基础:术语、http报头和缓存策略" target="_blank">web缓存基础:术语、http报头和缓存策略</a>
                                    <span class="text-muted">dalan_123</span>
<a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a>
                                    <div>对于很多人来说,去访问某一个站点,若是该站点能够提供智能化的内容缓存来提高用户体验,那么最终该站点的访问者将络绎不绝。缓存或者对之前的请求临时存储,是http协议实现中最核心的内容分发策略之一。分发路径中的组件均可以缓存内容来加速后续的请求,这是受控于对该内容所声明的缓存策略。接下来将讨web内容缓存策略的基本概念,具体包括如如何选择缓存策略以保证互联网范围内的缓存能够正确处理的您的内容,并谈论下</div>
                                </li>
                                <li><a href="/article/447.htm"
                                       title="crontab 问题" target="_blank">crontab 问题</a>
                                    <span class="text-muted">周凡杨</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/crontab/1.htm">crontab</a><a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a>
                                    <div>  
一:  0481-079   Reached   a   symbol   that   is   not   expected.   
   
背景:  
*/5   *   *   *   *  /usr/IBMIHS/rsync.sh  </div>
                                </li>
                                <li><a href="/article/574.htm"
                                       title="让tomcat支持2级域名共享session" target="_blank">让tomcat支持2级域名共享session</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/session/1.htm">session</a>
                                    <div>tomcat默认情况下是不支持2级域名共享session的,所有有些情况下登陆后从主域名跳转到子域名会发生链接session不相同的情况,但是只需修改几处配置就可以了。 
打开tomcat下conf下context.xml文件 
找到Context标签,修改为如下内容 
如果你的域名是www.test.com 
<Context sessionCookiePath="/path&q</div>
                                </li>
                                <li><a href="/article/701.htm"
                                       title="web报表工具FineReport常用函数的用法总结(数学和三角函数)" target="_blank">web报表工具FineReport常用函数的用法总结(数学和三角函数)</a>
                                    <span class="text-muted">老A不折腾</span>
<a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/%E6%80%BB%E7%BB%93/1.htm">总结</a>
                                    <div>  
ABS 
ABS(number):返回指定数字的绝对值。绝对值是指没有正负符号的数值。 
Number:需要求出绝对值的任意实数。 
示例: 
ABS(-1.5)等于1.5。 
ABS(0)等于0。 
ABS(2.5)等于2.5。 
  
ACOS 
ACOS(number):返回指定数值的反余弦值。反余弦值为一个角度,返回角度以弧度形式表示。 
Number:需要返回角</div>
                                </li>
                                <li><a href="/article/828.htm"
                                       title="linux 启动java进程 sh文件" target="_blank">linux 启动java进程 sh文件</a>
                                    <span class="text-muted">墙头上一根草</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/jar/1.htm">jar</a>
                                    <div>#!/bin/bash
#初始化服务器的进程PId变量
user_pid=0;
robot_pid=0;
loadlort_pid=0;
gateway_pid=0;

#########
#检查相关服务器是否启动成功
#说明:
#使用JDK自带的JPS命令及grep命令组合,准确查找pid
#jps 加 l 参数,表示显示java的完整包路径
#使用awk,分割出pid </div>
                                </li>
                                <li><a href="/article/955.htm"
                                       title="我的spring学习笔记5-如何使用ApplicationContext替换BeanFactory" target="_blank">我的spring学习笔记5-如何使用ApplicationContext替换BeanFactory</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Spring+3+%E7%B3%BB%E5%88%97/1.htm">Spring 3 系列</a>
                                    <div>如何使用ApplicationContext替换BeanFactory? 
 
package onlyfun.caterpillar.device;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import</div>
                                </li>
                                <li><a href="/article/1082.htm"
                                       title="Linux 内存使用方法详细解析" target="_blank">Linux 内存使用方法详细解析</a>
                                    <span class="text-muted">annan211</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98/1.htm">内存</a><a class="tag" taget="_blank" href="/search/Linux%E5%86%85%E5%AD%98%E8%A7%A3%E6%9E%90/1.htm">Linux内存解析</a>
                                    <div>来源 http://blog.jobbole.com/45748/ 
 
 

我是一名程序员,那么我在这里以一个程序员的角度来讲解Linux内存的使用。

一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存。这两个概念主要来自于linux内核的支持。

Linux在内存管理上份为两级,一级是线性区,类似于00c73000-00c88000,对应于虚拟内存,它实际上不占用</div>
                                </li>
                                <li><a href="/article/1209.htm"
                                       title="数据库的单表查询常用命令及使用方法(-)" target="_blank">数据库的单表查询常用命令及使用方法(-)</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E8%A1%A8%E6%9F%A5%E8%AF%A2/1.htm">单表查询</a>
                                    <div>  
  
创建数据库; 
      
--建表
create table bloguser(username varchar2(20),userage number(10),usersex char(2));

 
      创建bloguser表,里面有三个字段 
  
  
&nbs</div>
                                </li>
                                <li><a href="/article/1336.htm"
                                       title="多线程基础知识" target="_blank">多线程基础知识</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a>
                                    <div>一.进程和线程 
进程就是一个在内存中独立运行的程序,有自己的地址空间。如正在运行的写字板程序就是一个进程。 
“多任务”:指操作系统能同时运行多个进程(程序)。如WINDOWS系统可以同时运行写字板程序、画图程序、WORD、Eclipse等。 
线程:是进程内部单一的一个顺序控制流。 
线程和进程 
a.       每个进程都有独立的</div>
                                </li>
                                <li><a href="/article/1463.htm"
                                       title="fastjson简单使用实例" target="_blank">fastjson简单使用实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/fastjson/1.htm">fastjson</a>
                                    <div>一.简介 
        阿里巴巴fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库;包括“序列化”和“反序列化”两部分,它具备如下特征:     </div>
                                </li>
                                <li><a href="/article/1590.htm"
                                       title="【RPC框架Burlap】Spring集成Burlap" target="_blank">【RPC框架Burlap】Spring集成Burlap</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>Burlap和Hessian同属于codehaus的RPC调用框架,但是Burlap已经几年不更新,所以Spring在4.0里已经将Burlap的支持置为Deprecated,所以在选择RPC框架时,不应该考虑Burlap了。 
这篇文章还是记录下Burlap的用法吧,主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成 
 </div>
                                </li>
                                <li><a href="/article/1717.htm"
                                       title="【Mahout一】基于Mahout 命令参数含义" target="_blank">【Mahout一】基于Mahout 命令参数含义</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Mahout/1.htm">Mahout</a>
                                    <div>1. mahout seqdirectory 
  
    $ mahout seqdirectory 
        --input (-i) input               Path to job input directory(原始文本文件).
        --output (-o) output             The directory pathna</div>
                                </li>
                                <li><a href="/article/1844.htm"
                                       title="linux使用flock文件锁解决脚本重复执行问题" target="_blank">linux使用flock文件锁解决脚本重复执行问题</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/linux+lock%E3%80%80%E9%87%8D%E5%A4%8D%E6%89%A7%E8%A1%8C/1.htm">linux lock 重复执行</a>
                                    <div>linux的crontab命令,可以定时执行操作,最小周期是每分钟执行一次。关于crontab实现每秒执行可参考我之前的文章《linux crontab 实现每秒执行》现在有个问题,如果设定了任务每分钟执行一次,但有可能一分钟内任务并没有执行完成,这时系统会再执行任务。导致两个相同的任务在执行。 
例如:       
<?         
// 
test
.php      </div>
                                </li>
                                <li><a href="/article/1971.htm"
                                       title="java-74-数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字" target="_blank">java-74-数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>

public class OcuppyMoreThanHalf {

	/**
	 * Q74 数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字
	 * two solutions:
	 * 1.O(n)
	 * see <beauty of coding>--每次删除两个不同的数字,不改变数组的特性
	 * 2.O(nlogn)
	 * 排序。中间</div>
                                </li>
                                <li><a href="/article/2098.htm"
                                       title="linux 系统相关命令" target="_blank">linux 系统相关命令</a>
                                    <span class="text-muted">candiio</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>系统参数 
cat /proc/cpuinfo  cpu相关参数 
cat /proc/meminfo 内存相关参数 
cat /proc/loadavg 负载情况 
性能参数 
1)top 
M:按内存使用排序 
P:按CPU占用排序 
1:显示各CPU的使用情况 
k:kill进程 
o:更多排序规则 
回车:刷新数据 
2)ulimit 
ulimit -a:显示本用户的系统限制参</div>
                                </li>
                                <li><a href="/article/2225.htm"
                                       title="[经营与资产]保持独立性和稳定性对于软件开发的重要意义" target="_blank">[经营与资产]保持独立性和稳定性对于软件开发的重要意义</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91/1.htm">软件开发</a>
                                    <div> 
 
     一个软件的架构从诞生到成熟,中间要经过很多次的修正和改造 
 
      如果在这个过程中,外界的其它行业的资本不断的介入这种软件架构的升级过程中 
    
      那么软件开发者原有的设计思想和开发路线</div>
                                </li>
                                <li><a href="/article/2352.htm"
                                       title="在CentOS5.5上编译OpenJDK6" target="_blank">在CentOS5.5上编译OpenJDK6</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/OpenJDK/1.htm">OpenJDK</a>
                                    <div>几番周折终于在自己的CentOS5.5上编译成功了OpenJDK6,将编译过程和遇到的问题作一简要记录,备查。  
0. OpenJDK介绍 
OpenJDK是Sun(现Oracle)公司发布的基于GPL许可的Java平台的实现。其优点: 
1、它的核心代码与同时期Sun(-> Oracle)的产品版基本上是一样的,血统纯正,不用担心性能问题,也基本上没什么兼容性问题;(代码上最主要的差异是</div>
                                </li>
                                <li><a href="/article/2479.htm"
                                       title="java乱码问题" target="_blank">java乱码问题</a>
                                    <span class="text-muted">dashuaifu</span>
<a class="tag" taget="_blank" href="/search/java%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98/1.htm">java乱码问题</a><a class="tag" taget="_blank" href="/search/js%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81/1.htm">js中文乱码</a>
                                    <div>swfupload上传文件参数值为中文传递到后台接收中文乱码               在js中用setPostParams({"tag" : encodeURI( document.getElementByIdx_x("filetag").value,"utf-8")}); 
然后在servlet中String t</div>
                                </li>
                                <li><a href="/article/2606.htm"
                                       title="cygwin很多命令显示command not found的解决办法" target="_blank">cygwin很多命令显示command not found的解决办法</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/cygwin/1.htm">cygwin</a>
                                    <div>cygwin很多命令显示command not found的解决办法 
  
修改cygwin.BAT文件如下 
@echo off 
D: 
set CYGWIN=tty notitle glob 
set PATH=%PATH%;d:\cygwin\bin;d:\cygwin\sbin;d:\cygwin\usr\bin;d:\cygwin\usr\sbin;d:\cygwin\us</div>
                                </li>
                                <li><a href="/article/2733.htm"
                                       title="[介绍]从 Yii 1.1 升级" target="_blank">[介绍]从 Yii 1.1 升级</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii2/1.htm">yii2</a>
                                    <div>2.0 版框架是完全重写的,在 1.1 和 2.0 两个版本之间存在相当多差异。因此从 1.1 版升级并不像小版本间的跨越那么简单,通过本指南你将会了解两个版本间主要的不同之处。 
如果你之前没有用过 Yii 1.1,可以跳过本章,直接从"入门篇"开始读起。 
请注意,Yii 2.0 引入了很多本章并没有涉及到的新功能。强烈建议你通读整部权威指南来了解所有新特性。这样有可能会发</div>
                                </li>
                                <li><a href="/article/2860.htm"
                                       title="Linux SSH免登录配置总结" target="_blank">Linux SSH免登录配置总结</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/ssh-keygen/1.htm">ssh-keygen</a><a class="tag" taget="_blank" href="/search/Linux+SSH%E5%85%8D%E7%99%BB%E5%BD%95%E8%AE%A4%E8%AF%81/1.htm">Linux SSH免登录认证</a><a class="tag" taget="_blank" href="/search/Linux+SSH%E4%BA%92%E4%BF%A1/1.htm">Linux SSH互信</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2187265 一、原理 
     我们使用ssh-keygen在ServerA上生成私钥跟公钥,将生成的公钥拷贝到远程机器ServerB上后,就可以使用ssh命令无需密码登录到另外一台机器ServerB上。 
     生成公钥与私钥有两种加密方式,第一种是</div>
                                </li>
                                <li><a href="/article/2987.htm"
                                       title="手势滑动销毁Activity" target="_blank">手势滑动销毁Activity</a>
                                    <span class="text-muted">gundumw100</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>老是效仿ios,做android的真悲催! 
有需求:需要手势滑动销毁一个Activity 
怎么办尼?自己写? 
不用~,网上先问一下百度。 
结果: 
http://blog.csdn.net/xiaanming/article/details/20934541 
 
 
首先将你需要的Activity继承SwipeBackActivity,它会在你的布局根目录新增一层SwipeBackLay</div>
                                </li>
                                <li><a href="/article/3114.htm"
                                       title="JavaScript变换表格边框颜色" target="_blank">JavaScript变换表格边框颜色</a>
                                    <span class="text-muted">ini</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>效果查看:http://hovertree.com/texiao/js/2.htm代码如下,保存到HTML文件也可以查看效果: 
<html>
<head>
<meta charset="utf-8">
<title>表格边框变换颜色代码-何问起</title>
</head>
<body&</div>
                                </li>
                                <li><a href="/article/3241.htm"
                                       title="Kafka Rest : Confluent" target="_blank">Kafka Rest : Confluent</a>
                                    <span class="text-muted">kane_xie</span>
<a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a><a class="tag" taget="_blank" href="/search/REST/1.htm">REST</a><a class="tag" taget="_blank" href="/search/confluent/1.htm">confluent</a>
                                    <div>最近拿到一个kafka rest的需求,但kafka暂时还没有提供rest api(应该是有在开发中,毕竟rest这么火),上网搜了一下,找到一个Confluent Platform,本文简单介绍一下安装。 
这里插一句,给大家推荐一个九尾搜索,原名叫谷粉SOSO,不想fanqiang谷歌的可以用这个。以前在外企用谷歌用习惯了,出来之后用度娘搜技术问题,那匹配度简直感人。 
 
 环境声明:Ubu</div>
                                </li>
                                <li><a href="/article/3368.htm"
                                       title="Calender不是单例" target="_blank">Calender不是单例</a>
                                    <span class="text-muted">men4661273</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a><a class="tag" taget="_blank" href="/search/Calender/1.htm">Calender</a>
                                    <div>         在我们使用Calender的时候,使用过Calendar.getInstance()来获取一个日期类的对象,这种方式跟单例的获取方式一样,那么它到底是不是单例呢,如果是单例的话,一个对象修改内容之后,另外一个线程中的数据不久乱套了吗?从试验以及源码中可以得出,Calendar不是单例。 
测试: 
  Calendar c1 = </div>
                                </li>
                                <li><a href="/article/3495.htm"
                                       title="线程内存和主内存之间联系" target="_blank">线程内存和主内存之间联系</a>
                                    <span class="text-muted">qifeifei</span>
<a class="tag" taget="_blank" href="/search/java+thread/1.htm">java thread</a>
                                    <div>1, java多线程共享主内存中变量的时候,一共会经过几个阶段,    
  lock:将主内存中的变量锁定,为一个线程所独占。 
  unclock:将lock加的锁定解除,此时其它的线程可以有机会访问此变量。 
  read:将主内存中的变量值读到工作内存当中。 
  load:将read读取的值保存到工作内存中的变量副本中。 
  </div>
                                </li>
                                <li><a href="/article/3622.htm"
                                       title="schedule和scheduleAtFixedRate" target="_blank">schedule和scheduleAtFixedRate</a>
                                    <span class="text-muted">tangqi609567707</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a><a class="tag" taget="_blank" href="/search/schedule/1.htm">schedule</a>
                                    <div>原文地址:http://blog.csdn.net/weidan1121/article/details/527307 
import java.util.Timer;import java.util.TimerTask;import java.util.Date; 
/** * @author vincent */public class TimerTest { 
 </div>
                                </li>
                                <li><a href="/article/3749.htm"
                                       title="erlang 部署" target="_blank">erlang 部署</a>
                                    <span class="text-muted">wudixiaotie</span>
<a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a>
                                    <div>1.如果在启动节点的时候报这个错 : 
{"init terminating in do_boot",{'cannot load',elf_format,get_files}} 
则需要在reltool.config中加入 
{app, hipe, [{incl_cond, exclude}]}, 
  
  
2.当generate时,遇到: 
ERROR</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>