Flutter Widgets入门(一):MaterialApp 和 Scaffold

1 MaterialApp

1.1 什么是MaterialApp?

MaterialApp是我们使用 Flutter开发中最常用的符合Material Design设计理念的入口Widget。你可以将它类比成为网页中的,且它自带路由、主题色,</code>等功能。</p> <h4>1.2 MaterialApp的几个属性</h4> <h5>1.2.1 title</h5> <p><code>Strig</code>类型,该属性会在<code>Android</code>应用管理器的App上方显示,对于<code>iOS</code>设备是没有效果的。如下面代码所示:</p> <pre><code class="dart">import 'package:flutter/material.dart'; void main() { runApp(MaterialApp( title: '一个Flutter应用', home: Text('hello flutter', style: TextStyle( color: Colors.white, decoration: TextDecoration.none)))); } </code></pre> <div class="image-package"> <a href="http://img.e-com-net.com/image/info10/4de57110b8344248bab8b2bcd1ce8468.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/4de57110b8344248bab8b2bcd1ce8468.jpg" data-original-src="http://static.zybuluo.com/leeahui424/3uwxhplgx63u53sx1hq0aaka/image_1d5gi35g5t5i1kpgh981oaa76i9.png" alt="Flutter Widgets入门(一):MaterialApp 和 Scaffold_第1张图片" width="607" height="560" style="border:1px solid black;"></a> <div class="image-caption"> title演示图 </div> </div> <h5>1.2.2 home</h5> <p><code>Widget</code>类型,这是在应用程序正常启动时首先显示的Widget,除非指定了<code>initialRoute</code>。如果<code>initialRoute</code>显示失败,也该显示该Widget。</p> <p>需要注意的是, 如果你指定了<code>home</code>属性,则在<code>routes</code>的路由表中不允许出现<code>/</code>的命名路由。</p> <pre><code class="dart">import 'package:flutter/material.dart'; void main() { runApp(MaterialApp( title: '一个Flutter应用', home: Center( child: Text('hello flutter', style: TextStyle( color: Colors.white, decoration: TextDecoration.none)), ))); } </code></pre> <div class="image-package"> <a href="http://img.e-com-net.com/image/info10/92ebab15de8d4d5197553ae673c9aa78.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/92ebab15de8d4d5197553ae673c9aa78.jpg" data-original-src="http://static.zybuluo.com/leeahui424/ory3s34txxh4ogbpfdv5wu4t/image_1d5gj2pnue9pq2c1rmj1cu9u0h13.png" alt="Flutter Widgets入门(一):MaterialApp 和 Scaffold_第2张图片" width="307" height="541" style="border:1px solid black;"></a> <div class="image-caption"> home演示图 </div> </div> <h5>1.2.3 routes</h5> <p><code>Map<String, WidgetBuilder></code>类型,是应用的顶级路由表。当我们再使用<code>Navigator.pushNamed</code>进行命名路由的跳转时,会在此路表中进行查找并跳转。如果你的应用程序只有一个页面,则无需使用<code>routes</code>,直接指定<code>home</code>对应的Widget即可。</p> <p>下面的例子中,定义了两个路由:<code>/home</code>和<code>/detail</code>,并使用<code>GestureDetector</code>定义了点击事件已实现路由跳转:</p> <pre><code class="dart">import 'package:flutter/material.dart'; void main() { runApp(MaterialApp(title: '一个Flutter应用', home: HomePage(), routes: { '/home': (BuildContext context) => HomePage(), '/detail': (BuildContext context) => DetailPage() })); } class HomePage extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: GestureDetector( onTap: () { Navigator.pushNamed(context, '/detail'); }, child: Text('首页,点击跳转详情页', style: TextStyle( fontSize: 20.0, color: Colors.white, decoration: TextDecoration.none)))); } } class DetailPage extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: GestureDetector( onTap: () { Navigator.pushNamed(context, '/home'); }, child: Text('详情页,点击跳转首页', style: TextStyle( fontSize: 20.0, color: Colors.white, decoration: TextDecoration.none)))); } } </code></pre> <div class="image-package"> <a href="http://img.e-com-net.com/image/info10/e01611e4574f48799a6308550ad2f916.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/e01611e4574f48799a6308550ad2f916.jpg" data-original-src="http://static.zybuluo.com/leeahui424/tn6byjrfw3wgaak2rt7dz3io/image_1d5gnsjncenojbf1bva1ri61v761g.png" alt="Flutter Widgets入门(一):MaterialApp 和 Scaffold_第3张图片" width="551" height="527" style="border:1px solid black;"></a> <div class="image-caption"> routes演示图 </div> </div> <h3>2 Scaffold</h3> <h4>2.1 什么是Scaffold?</h4> <p>Scaffold通常被用作MaterialApp的子Widget,它会填充可用空间,占据整个窗口或设备屏幕。Scaffold提供了大多数应用程序都应该具备的功能,例如顶部的<code>appBar</code>,底部的<code>bottomNavigationBar</code>,隐藏的侧边栏<code>drawer</code>等。</p> <h4>2.2 Scaffold的几个属性</h4> <h5>2.2.1 appBar</h5> <p><code>PreferredSizeWidget</code>类型,显示在Scaffold的顶部区域。</p> <pre><code class="dart">import 'package:flutter/material.dart'; void main() { runApp(MaterialApp( title: '一个Flutter应用', home: Scaffold( appBar: AppBar( title: Text('首页')) ) ) ); } </code></pre> <div class="image-package"> <a href="http://img.e-com-net.com/image/info10/ec9e9d9cb8714803bb7114f06e8e2445.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/ec9e9d9cb8714803bb7114f06e8e2445.jpg" data-original-src="http://static.zybuluo.com/leeahui424/uw7dw3tlt6vo0o0uqlpe3rxm/image_1d5gq6fu41jk911uj13f96va8cn1t.png" alt="Flutter Widgets入门(一):MaterialApp 和 Scaffold_第4张图片" width="239" height="483" style="border:1px solid black;"></a> <div class="image-caption"> appBar演示图 </div> </div> <h5>2.2.2 drawer</h5> <p><code>Widget drawer</code>类型,通常用来形成一个汉堡包按钮显示其侧边栏。</p> <pre><code class="dart">import 'package:flutter/material.dart'; void main() { runApp(MaterialApp( title: '一个Flutter应用', home: Scaffold( appBar: AppBar(title: Text('首页')), drawer: Drawer( child: Column( children: <Widget>[ DrawerItem(1, '列表1'), DrawerItem(2, '列表2'), DrawerItem(3, '列表3'), DrawerItem(4, '列表4'), DrawerItem(5, '列表5') ], ))))); } class DrawerItem extends StatelessWidget { final int id; final String name; DrawerItem(this.id, this.name); @override Widget build(BuildContext context) { return Container( decoration: BoxDecoration( color: Colors.white, border: Border(bottom: BorderSide(width: 0.5, color: Color(0xFFd9d9d9))), ), height: 52.0, child: FlatButton( onPressed: () {}, child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[Text(id.toString()), Text(' - '), Text(name)], )), ); } } </code></pre> <div class="image-package"> <a href="http://img.e-com-net.com/image/info10/37c90fbeb31041d582b220a6a497dcbe.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/37c90fbeb31041d582b220a6a497dcbe.jpg" data-original-src="http://static.zybuluo.com/leeahui424/t5irhvm621vjk5ygimbx4r7f/image_1d5gs5n69gh61l08nd21gfglaf2n.png" alt="Flutter Widgets入门(一):MaterialApp 和 Scaffold_第5张图片" width="239" height="479" style="border:1px solid black;"></a> <div class="image-caption"> drawer演示图 </div> </div> <h5>2.2.3 bottomNavigationBar</h5> <p><code>Widget bottomNavigationBar</code>类型,用户显示底部的tab栏,<code>items</code>必须大于2个。</p> <pre><code class="dart">import 'package:flutter/material.dart'; void main() { runApp(MaterialApp( title: '一个Flutter应用', home: Scaffold( appBar: AppBar( title: Text('首页'), ), bottomNavigationBar: BottomNavigationBar( type: BottomNavigationBarType.fixed, currentIndex: 1, items: [ new BottomNavigationBarItem( icon: Icon(Icons.account_balance), title: Text('银行')), new BottomNavigationBarItem( icon: Icon(Icons.contacts), title: Text('联系人')), new BottomNavigationBarItem( icon: Icon(Icons.library_music), title: Text('音乐')) ], )))); } </code></pre> <div class="image-package"> <a href="http://img.e-com-net.com/image/info10/6854fd54cb40438098b87a1067cafba4.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/6854fd54cb40438098b87a1067cafba4.jpg" data-original-src="http://static.zybuluo.com/leeahui424/1vtw6y3bxbyx1fp21avzt97q/image_1d5h1m6asa6tagfdtg69i13md5g.png" alt="Flutter Widgets入门(一):MaterialApp 和 Scaffold_第6张图片" width="237" height="481" style="border:1px solid black;"></a> <div class="image-caption"> bottomNavigationBar演示图 </div> </div> <h5>2.2.4 body</h5> <p><code>Widget</code>类型,Scaffold的主题内容。</p> <pre><code class="dart">import 'package:flutter/material.dart'; void main() { runApp(MaterialApp( title: '一个Flutter应用', home: Scaffold( appBar: AppBar( title: Text('首页'), ), bottomNavigationBar: BottomNavigationBar( type: BottomNavigationBarType.fixed, currentIndex: 1, items: [ new BottomNavigationBarItem( icon: Icon(Icons.account_balance), title: Text('银行')), new BottomNavigationBarItem( icon: Icon(Icons.contacts), title: Text('联系人')), new BottomNavigationBarItem( icon: Icon(Icons.library_music), title: Text('音乐')) ], ), body: Center( child: Text('这是联系人页面'), ), ))); } </code></pre> <div class="image-package"> <a href="http://img.e-com-net.com/image/info10/dd99d5155012407cb79dedd18a5fa564.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/dd99d5155012407cb79dedd18a5fa564.jpg" data-original-src="http://static.zybuluo.com/leeahui424/yae9z2yqhf03uy8exziglsyl/image_1d5h205ik1ll7knfvhd1okkf5s5t.png" alt="Flutter Widgets入门(一):MaterialApp 和 Scaffold_第7张图片" width="234" height="480" style="border:1px solid black;"></a> <div class="image-caption"> body演示图 </div> </div> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1192460271340331008"></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">你可能感兴趣的:(Flutter Widgets入门(一):MaterialApp 和 Scaffold)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1903115499265388544.htm" title="04.文本标签" target="_blank">04.文本标签</a> <span class="text-muted">龙哥带你学编程</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><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>一、文本简介1、页面组成元素1)以淘宝购物官网为例,分析网页:在淘宝购物官网的首页上,我们可以看到它是由超链接,文字,图片等元素构成。2)页面组成元素①一个静态页面绝大部分由以下四种元素组成:文本图片超链接音频和视频②思考:符合以下特点的网页是静态还是动态页面?带有音频和视频带有flash动画带有css动画带有JavaScript特效不是。动态页面和静态页面区别在于:是否用到了后端技术,以及是否与</div> </li> <li><a href="/article/1903115247019945984.htm" title="ubuntu20 安装px4、mavros、QGroundControl" target="_blank">ubuntu20 安装px4、mavros、QGroundControl</a> <span class="text-muted">jjm2002</span> <a class="tag" taget="_blank" href="/search/ROS/1.htm">ROS</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">机器人</a> <div>一、安装PX4jjm2是我的主文件夹名,可以根据自己的主文件夹名修改下载PX4gitclonehttps://github.com/PX4/PX4-Autopilot.git--recursive由于网速原因,我用的是别人已经下载好的压缩包。链接:https://pan.baidu.com/s/1WskxL3EYWfPUrKDwc3X2Ng提取码:wstc里面有PX4-Autopilot压缩包,l</div> </li> <li><a href="/article/1903114743112069120.htm" title="深度优先搜索和广度优先搜索详细解析和区别" target="_blank">深度优先搜索和广度优先搜索详细解析和区别</a> <span class="text-muted">潇杨爱吃粉</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88/1.htm">深度优先</a><a class="tag" taget="_blank" href="/search/%E5%AE%BD%E5%BA%A6%E4%BC%98%E5%85%88/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/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>一、深度优先搜索(DFS)1.核心思想像探险家走迷宫,遇到岔路就选一条路走到头,无路可走时返回上一个岔路口换另一条路。2.实现方式数据结构:栈(Stack,先进后出)或递归(隐式栈)遍历顺序:纵向深入,优先访问最深层的节点3.图解示例假设有以下树结构:A/\BC/\/DEFDFS遍历顺序(从根节点A出发):A→B→D→E→C→F4.代码实现(Python)defdfs(graph,start):s</div> </li> <li><a href="/article/1903114109897994240.htm" title="DeepSeek 模型未来怎么走?技术创新、行业落地全解析!" target="_blank">DeepSeek 模型未来怎么走?技术创新、行业落地全解析!</a> <span class="text-muted">网罗开发</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a> <div>网罗开发(小红书、快手、视频号同名)  大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO</div> </li> <li><a href="/article/1903113731278172160.htm" title="户储EMS开发|工商业储能EMS/户储EMS/EMS能源管理系统作用与功能|储能ems排名|SmartEMS3823型工商业/户储EMS系统" target="_blank">户储EMS开发|工商业储能EMS/户储EMS/EMS能源管理系统作用与功能|储能ems排名|SmartEMS3823型工商业/户储EMS系统</a> <span class="text-muted">分布式DTU/分散式DTU配电终端</span> <a class="tag" taget="_blank" href="/search/%E8%83%BD%E6%BA%90/1.htm">能源</a> <div>户储EMS开发|工商业储能EMS/户储EMS/EMS能源管理系统作用与功能|储能ems排名|SmartEMS3823型工商业/户储EMS系统一:名词解释及背景EMS能量管理系统EMS(EnergyManagementSystem,能源管理系统)是储能系统的总体决策系统。能源管理系统包括电网级能源管理系统和微电网级能源管理系统。储能系统中主要的EMS系统是微电网层面。EMS作为支撑储能系统的信息管理</div> </li> <li><a href="/article/1903113604794740736.htm" title="Webrtc音频技术(未完)" target="_blank">Webrtc音频技术(未完)</a> <span class="text-muted">会头痛的可达鸭</span> <a class="tag" taget="_blank" href="/search/WebRTC/1.htm">WebRTC</a><a class="tag" taget="_blank" href="/search/webrtc/1.htm">webrtc</a> <div>一、概述1、架构上图中发送方(或叫上行、TX)将从MIC采集到的语音数据先做前处理,然后编码得到码流,再用RTP打包通过UDPsocket发送到网络中给对方。接收方(或叫下行、RX)通过UDPsocket收语音包,解析RTP包后放入jitterbuffer中,要播放时每隔一定时间从jitterbuffer中取出包并解码得到PCM数据,做后处理后送给播放器播放出来。二、NetEQ1、简介netEQ是</div> </li> <li><a href="/article/1903112975049355264.htm" title="深度优先搜索(DFS)完全解析:从原理到 Java 实战" target="_blank">深度优先搜索(DFS)完全解析:从原理到 Java 实战</a> <span class="text-muted">my_realmy</span> <a class="tag" taget="_blank" href="/search/Java%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/1.htm">Java基础知识</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88/1.htm">深度优先</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>深度优先搜索(DFS)完全解析:从原理到Java实战@TOC作为一名程序员,你是否遇到过需要在复杂的图结构中寻找路径、检测环,或者进行树遍历的问题?深度优先搜索(Depth-FirstSearch,DFS)作为一种经典的图遍历算法,能够轻松应对这些场景。在CSDN社区中,技术文章的受欢迎程度往往取决于内容的实用性、代码的可读性以及图文结合的讲解方式。因此,本文将为你带来一篇深入浅出、图文并茂、代码</div> </li> <li><a href="/article/1903112722824884224.htm" title="云服务器linux下配置springboot项目启动、停止、重启脚本" target="_blank">云服务器linux下配置springboot项目启动、停止、重启脚本</a> <span class="text-muted">努力的Andy</span> <a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>目录为什么要配置启动脚本?配置脚本一、选择一个文件夹新建一个XXX.sh文件(xxx可以命名为项目名称,新建.sh.conf等文件用到的是vi指令)二、进入如下页面,按下键盘i键进入insert模式三、insert如下配置(只需修改APP_NAME内容为自己想要启动的jar包)四、脚本代码解释:linux下脚本测试1、启动测试2、查看状态3、停止测试4、重启测试为什么要配置启动脚本?一般情况下我们</div> </li> <li><a href="/article/1903112596471476224.htm" title="本地锁 vs 分布式锁详解" target="_blank">本地锁 vs 分布式锁详解</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/%E7%B3%BB%E7%BB%9F/1.htm">系统</a><a class="tag" taget="_blank" href="/search/%E9%94%81/1.htm">锁</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81/1.htm">分布式锁</a> <div>一、什么是本地锁?本地锁(LocalLock)指的是单机环境下使用Java/JVM自带的锁机制,实现线程之间的互斥和同步。✅本地锁的常见实现:锁类型说明synchronizedJVM内置,修饰方法或代码块,重量级锁,自动释放ReentrantLockJUC提供,支持可重入、可中断、公平锁、Condition等StampedLock支持读写锁和乐观读,适合读多写少场景ReadWriteLock读写分</div> </li> <li><a href="/article/1903112594403684352.htm" title="Apache Tomcat默认文件漏洞" target="_blank">Apache Tomcat默认文件漏洞</a> <span class="text-muted">m0_67401606</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/apache/1.htm">apache</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> <div>ApacheTomcat默认文件漏洞一、概要漏洞描述:默认错误页面,默认索引页面,示例JSP和/或示例servlet安装在远程ApacheTomcat服务器上。应删除这些文件,因为它们可能有助于攻击者发现有关远程Tomcat安装或主机本身的信息。漏洞风险:中修复建议:删除默认索引页并删除示例JSP和servlet。按照Tomcat或OWASP说明更换或修改默认错误页面。二、解决办法1、直接删除do</div> </li> <li><a href="/article/1903112591098572800.htm" title="2025年渗透测试面试题总结-某四字大厂实习面试复盘 一面 二面 三面(题目+回答)" target="_blank">2025年渗透测试面试题总结-某四字大厂实习面试复盘 一面 二面 三面(题目+回答)</a> <span class="text-muted">独行soc</span> <a class="tag" taget="_blank" href="/search/2025%E5%B9%B4%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%E9%9D%A2%E8%AF%95%E6%8C%87%E5%8D%97/1.htm">2025年渗透测试面试指南</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E7%BA%A2%E8%93%9D%E6%94%BB%E9%98%B2/1.htm">红蓝攻防</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。目录一面1.数组和链表各自的优势和原因2.操作系统层面解析和进程3.线程和进程通信方式及数据安全问题4.线程和多进程的选用场景及原因5.SQL注入绕WAF方式6.FUZZ绕WAF的payload长度通常是多少7.不查资料直接写IPv4正则regex8.Fastjson反序</div> </li> <li><a href="/article/1903112087199084544.htm" title="【Apache Tomcat信息泄露漏洞】" target="_blank">【Apache Tomcat信息泄露漏洞】</a> <span class="text-muted">猫饭_ACE</span> <a class="tag" taget="_blank" href="/search/%E4%B8%9A%E5%8A%A1%E6%89%80%E9%9C%80/1.htm">业务所需</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>一、漏洞详情ApacheTomcat是一个流行的开源Web服务器和Java代码的Servlet容器。9月28日,Apache发布安全公告,公开披露了Tomcat中的一个信息泄露漏洞(CVE-2021-43980)。由于某些Tomcat版本中的阻塞式读写的简化实现导致存在并发错误(极难触发),可能使客户端连接共享一个Http11Processor实例,导致响应或部分响应被错误的客户端接收,造成信息泄</div> </li> <li><a href="/article/1903111708558290944.htm" title="Ubuntu下通过.sh文件同时启动多个程序系列3—gnome-terminal简单使用说明" target="_blank">Ubuntu下通过.sh文件同时启动多个程序系列3—gnome-terminal简单使用说明</a> <span class="text-muted">JANGHIGH</span> <a class="tag" taget="_blank" href="/search/Ubuntu/1.htm">Ubuntu</a><a class="tag" taget="_blank" href="/search/ROS/1.htm">ROS</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>gnome-terminal简单使用说明gnome-terminal使用基本用法启动后自动执行命令废弃命令提示:~~-x和-e解释~~如何使用.bashrc里的内容gnome-terminal使用基本用法1.gnome-terminal命令用于打开一个新的终端,直接在命令行$gnome-terminal就可以打开一个新的终端,有一些常用参数:2.打开后自动最大化$gnome-terminal--m</div> </li> <li><a href="/article/1903111330521477120.htm" title="java面试题,什么是动态代理?、动态代理和静态代理有什么区别?说一下反射机制?JDK Proxy 和 CGLib 有什么区别?动态代理的底层" target="_blank">java面试题,什么是动态代理?、动态代理和静态代理有什么区别?说一下反射机制?JDK Proxy 和 CGLib 有什么区别?动态代理的底层</a> <span class="text-muted">述雾学java</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><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/java%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">java面试题</a><a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%B0%84/1.htm">反射</a><a class="tag" taget="_blank" href="/search/java%E6%A0%B8%E5%BF%83%E5%9F%BA%E7%A1%80/1.htm">java核心基础</a> <div>什么是动态代理?动态代理是在程序运行期,动态的创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象方法的增强方法。可以理解为运行期间,对象中方法的动态拦截,在拦截方法的前后执行功能操作。动态代理的常见使用场景有:统计每个api的请求耗时;统一的日志输出;校验被调用的api是否已经登录和权限鉴定;SpringAOP。动</div> </li> <li><a href="/article/1903111328269135872.htm" title="网络编程、URI和URL的区别、TCP/IP协议、IP和端口、URLConnection" target="_blank">网络编程、URI和URL的区别、TCP/IP协议、IP和端口、URLConnection</a> <span class="text-muted">述雾学java</span> <a class="tag" taget="_blank" href="/search/Java%E6%A0%B8%E5%BF%83%E5%9F%BA%E7%A1%80/1.htm">Java核心基础</a><a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/java%E5%9F%BA%E7%A1%80/1.htm">java基础</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B/1.htm">网络编程</a> <div>DAY12.1Java核心基础网络编程在互联网时代,网络在生活中处处可见,javaWeb占据了很大一部分那如何实现javaWeb编程呢?Web编程就是运行在同一个网络下面的终端,使得它们之间可以进行数据传输计算机网络基本知识计算机网络是通过硬件设施,传输媒介把不同物理地址上的计算机网络进行连接,形成一个资源共享和数据传输的网络系统两台终端进行连接需要遵守规定的网络协议语法:数据信息的结构语义:描述</div> </li> <li><a href="/article/1903110822998110208.htm" title="储能EMS" target="_blank">储能EMS</a> <span class="text-muted">dongzengwu</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/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/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>储能EMS5.1系统网络结构储能EMS应用层通过与PCS的交互实现有功功率控制、无功功率控制、黑启动控制、调峰调频等储能特色功能,可以满足绝大多数储能项目的功能需求,实现储能经济利用提供了完善的、可实话的技术手段。系统结构示意图如下图所示:功能参数储能EMS系统包含运行监测、故障告警、参数设置、数据报表、曲线显示以及应用工具主要检测信息包含:储能电池信息、电量信息、功率曲线、PCS总充电量放电量和</div> </li> <li><a href="/article/1903110824373841920.htm" title="Rasa Webchat:开源聊天机器人组件" target="_blank">Rasa Webchat:开源聊天机器人组件</a> <span class="text-muted">乌昱有Melanie</span> <div>RasaWebchat:开源聊天机器人组件rasa-webchatAfeature-richchatwidgetforRasaandBotfront项目地址:https://gitcode.com/gh_mirrors/ra/rasa-webchatRasaWebchat是一个开源项目,旨在为Rasa或Botfront开发的虚拟助手提供在任意网站上部署的聊天窗口组件。该项目主要使用JavaScri</div> </li> <li><a href="/article/1903109438273810432.htm" title="AI学习教程DeepSeek使用教程合集 免费下载" target="_blank">AI学习教程DeepSeek使用教程合集 免费下载</a> <span class="text-muted">oneboxai</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>1.DeepSeek本地部署2.Deepseek搭建个人知识库3.DeepSeek提示词详解4.Deepseek使用技巧大全5.DeepSeek提示词大全6.DeepSeek保姆级新手教程7.DeepSeek各类应用8.Deepseek写小说9.DeepSeekV3部署教程10.DeepseekwordExcel11.Deepseek科研论文12.Deepseek开发游戏13.大模型通用一-A1指</div> </li> <li><a href="/article/1903108682770608128.htm" title="【MySQL】插入查询结果,聚合函数" target="_blank">【MySQL】插入查询结果,聚合函数</a> <span class="text-muted">熙曦Sakura</span> <a class="tag" taget="_blank" href="/search/MySQL/1.htm">MySQL</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>6.5插入查询结果语法:INSERTINTOtable_name[(column[,column...])]SELECT...案例:删除表中的的重复记录,重复的数据只能有一份--创建原数据表CREATETABLEduplicate_table(idint,namevarchar(20));QueryOK,0rowsaffected(0.01sec)--插入测试数据INSERTINTOduplica</div> </li> <li><a href="/article/1903108052932947968.htm" title="Python-modbustcp通信-plc读写" target="_blank">Python-modbustcp通信-plc读写</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/python/1.htm">python</a> <div>Python-modbustcp通信-plc读写1,功能码说明读取:%m对应READ_COILS线圈寄存器数值0和1%mw存单字节%mf浮点数%md双字节对应READ_HOLDING_REGISTERS保持寄存器写入单个写入线圈寄存器WRITE_SINGLE_COIL%m单个写入保持寄存器WRITE_SINGLE_REGISTER写入多个保持寄存器WRITE_MULTIPLE_REGISTERS写</div> </li> <li><a href="/article/1903106668137345024.htm" title="PyCharm v2024.3.5 强大的Python IDE工具 支持M、Intel芯片" target="_blank">PyCharm v2024.3.5 强大的Python IDE工具 支持M、Intel芯片</a> <span class="text-muted">2401_89264762</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a><a class="tag" taget="_blank" href="/search/pycharm/1.htm">pycharm</a> <div>PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。应用介绍PyCharm是由JetBrains打造的一款PythonIDE,VS2010的重构插件Resharper就是出自</div> </li> <li><a href="/article/1903106415954817024.htm" title="PTA团体程序设计天梯赛-练习集51-55题" target="_blank">PTA团体程序设计天梯赛-练习集51-55题</a> <span class="text-muted">β添砖java</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>L1-051打折去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价¥988,标明打7折,则折扣价应该是¥988x70%=¥691.60。本题就请你写个程序替客户计算折扣价。输入格式:输入在一行中给出商品的原价(不超过1万元的正整数)和折扣(为[1,9]区间内的整数),其间以空格分隔。输出格式:在一行中输出商品的折扣价,保留小数点后2位。输入样例:9887输出样例:691.60#in</div> </li> <li><a href="/article/1903106288796102656.htm" title="贪心算法(10)(java)跳跃游戏" target="_blank">贪心算法(10)(java)跳跃游戏</a> <span class="text-muted">奋进的小暄</span> <a class="tag" taget="_blank" href="/search/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95/1.htm">贪心算法</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a> <div>题目:给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处:1.0=n-1)//判断是否以经跳到最后一个位置{returnret;}for(inti=left;i<=right;i++)//更新下一层最右端点{maxPos=Math.max(maxPos,n</div> </li> <li><a href="/article/1903105657314275328.htm" title="ubuntu中source bash sh的区别" target="_blank">ubuntu中source bash sh的区别</a> <span class="text-muted">阿斯顿的风格</span> <a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>source与.(点命令)作用与特点执行方式:两者都用于在当前shell环境中执行指定脚本文件的命令,而不是启动一个新的子shell。效果:脚本中对环境变量、函数、当前目录等所做的修改会直接影响当前shell环境。这对于设置环境变量、加载配置等场景非常有用。语法区别:sourcescript.sh是Bash及部分其他shell中的内置命令。.script.sh(点命令)是POSIX标准规定的,在所</div> </li> <li><a href="/article/1903105278799310848.htm" title="30天搭建消防安全培训小程序" target="_blank">30天搭建消防安全培训小程序</a> <span class="text-muted">mon_star°</span> <a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%B9%B3%E5%8F%B0/1.htm">微信公众平台</a> <div>一、功能需求搭建一款消防安全培训答题小程序,大体上实现功能如下:1.重要消防相关信息发布提醒;2.培训课程库播放,文档的,加视频的;3.题库、考试单选、多选、判断三类题;4.考试成绩查询、输出表单;5.单次培训:限时内完成,签到(手签名),限时内完成考试;二、项目结构使用微信开发者工具创建一个新的小程序项目,项目结构大致如下:pages├──index//首页,显示重要信息提醒├──course/</div> </li> <li><a href="/article/1903105152538177536.htm" title="oceanbase 是不是架构比较复杂 和mysql对比分析" target="_blank">oceanbase 是不是架构比较复杂 和mysql对比分析</a> <span class="text-muted">hxsln11</span> <a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D/1.htm">金融</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/oceanbase/1.htm">oceanbase</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>我先来分析用户的需求。用户的问题是关于OceanBase和MySQL的架构复杂度对比,并希望了解两者在架构上的具体差异。这是一个技术性较强的问题,用户可能是数据库开发者、架构师或者对分布式数据库感兴趣的学习者。结合上下文,用户之前已经提到过OceanBase的学习曲线较陡峭,可能是因为其分布式架构的复杂性,所以这次的问题很可能是想进一步明确OceanBase和MySQL在架构上的具体差异,以及为什</div> </li> <li><a href="/article/1903104774442643456.htm" title="编写脚本在Linux下启动、停止SpringBoot工程" target="_blank">编写脚本在Linux下启动、停止SpringBoot工程</a> <span class="text-muted">流烟默</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/1.htm">系统运维</a><a class="tag" taget="_blank" href="/search/Linux%E5%85%A8%E9%9D%A2%E5%85%A5%E9%97%A8/1.htm">Linux全面入门</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</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/shell/1.htm">shell</a> <div>【1】启动命令nohupjava-jaryour-application.jar>/dev/null2>&1&>/dev/null2>&1:这条命令将标准输出和标准错误都重定向到/dev/null,这意味着它们不会输出到控制台或任何文件。这样做是因为我们希望所有日志都由Logback处理并写入到配置文件中指定的日志文件里。然而,如果你想要保留控制台输出(例如,对于调试目的),你可以省略这部分重定向</div> </li> <li><a href="/article/1903103515111256064.htm" title="SvelteKit 最新中文文档教程(6)—— 状态管理" target="_blank">SvelteKit 最新中文文档教程(6)—— 状态管理</a> <span class="text-muted">冴羽yayujs</span> <a class="tag" taget="_blank" href="/search/Svelte/1.htm">Svelte</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3/1.htm">中文文档</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</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/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/svelte/1.htm">svelte</a><a class="tag" taget="_blank" href="/search/sveltekit/1.htm">sveltekit</a> <div>前言Svelte,一个语法简洁、入门容易,面向未来的前端框架。从Svelte诞生之初,就备受开发者的喜爱,根据统计,从2019年到2024年,连续6年一直是开发者最感兴趣的前端框架No.1:Svelte以其独特的编译时优化机制著称,具有轻量级、高性能、易上手等特性,非常适合构建轻量级Web项目。为了帮助大家学习Svelte,我同时搭建了Svelte最新的中文文档站点。如果需要进阶学习,也可以入手我</div> </li> <li><a href="/article/1903103388736876544.htm" title="MTK ADSP" target="_blank">MTK ADSP</a> <span class="text-muted">yyc_audio</span> <a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a> <div>MTK音频硬件概念AFE:音频前端硬件audiofrontendhwAFEMEMIF(FE):PCMDMA,memoryread/writeAudiointerconnection:connectionfabricforaudiosubmodule。核心路由器件。负责FE和BE之间的连接和路由。DAI(BE):DigitalAudioI/F,eTDM/I2S/DMIC.–EnhancedTDM,c</div> </li> <li><a href="/article/1903103136692760576.htm" title="Cesium中级开发教程之四十一:红黄蓝渐变线" target="_blank">Cesium中级开发教程之四十一:红黄蓝渐变线</a> <span class="text-muted">CesiumMaster</span> <a class="tag" taget="_blank" href="/search/Cesium%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B/1.htm">Cesium开发教程</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><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/Cesium/1.htm">Cesium</a> <div>一、原理渐变线的本质是沿线段方向进行颜色插值,创建顶点着色器,传递线段的位置或长度信息到片元着色器,创建片元着色器,根据位置或长度计算颜色,实现红→黄→蓝的渐变。二、效果图三、代码functioncreateGradientCanvas(){constcanvas=document.createElement("canvas");canvas.width=256;canvas.height=1;c</div> </li> <li><a href="/article/29.htm" title="SQL的各种连接查询" target="_blank">SQL的各种连接查询</a> <span class="text-muted">xieke90</span> <a class="tag" taget="_blank" href="/search/UNION+ALL/1.htm">UNION ALL</a><a class="tag" taget="_blank" href="/search/UNION/1.htm">UNION</a><a class="tag" taget="_blank" href="/search/%E5%A4%96%E8%BF%9E%E6%8E%A5/1.htm">外连接</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E8%BF%9E%E6%8E%A5/1.htm">内连接</a><a class="tag" taget="_blank" href="/search/JOIN/1.htm">JOIN</a> <div>一、内连接   概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。                 内连接(join 或者inner join )       SQL语法:       select * fron</div> </li> <li><a href="/article/156.htm" title="java编程思想--复用类" target="_blank">java编程思想--复用类</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/%E7%BB%A7%E6%89%BF/1.htm">继承</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%90%86/1.htm">代理</a><a class="tag" taget="_blank" href="/search/%E7%BB%84%E5%90%88/1.htm">组合</a><a class="tag" taget="_blank" href="/search/final%E7%B1%BB/1.htm">final类</a> <div>      复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书   一:组合语法:就是将对象的引用放到新类中即可     代码:     package com.wj.reuse; /** * * @author Administrator 组</div> </li> <li><a href="/article/283.htm" title="[开源与生态系统]国产CPU的生态系统" target="_blank">[开源与生态系统]国产CPU的生态系统</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/cpu/1.htm">cpu</a> <div>       计算机要从娃娃抓起...而孩子最喜欢玩游戏....       要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....       投入一些资金和资源,人力和政策,让游</div> </li> <li><a href="/article/410.htm" title="JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释" target="_blank">JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释</a> <span class="text-muted">商人shang</span> <a class="tag" taget="_blank" href="/search/jvm%E5%86%85%E5%AD%98/1.htm">jvm内存</a> <div>jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。 HotSpot虚拟机GC算法采用分代收</div> </li> <li><a href="/article/537.htm" title="页面上调用 QQ" target="_blank">页面上调用 QQ</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a> <div><A href="tencent://message/?uin=707321921&amp;Site=有事Q我&amp;Menu=yes">   <img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a></div> </li> <li><a href="/article/664.htm" title="一些问题" target="_blank">一些问题</a> <span class="text-muted">文强chu</span> <a class="tag" taget="_blank" href="/search/%E9%97%AE%E9%A2%98/1.htm">问题</a> <div>1.eclipse 导出 doc  出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 ..... SQL:3.mysql  * 必须得放前面 否则  select&nbs</div> </li> <li><a href="/article/791.htm" title="生活没有安全感" target="_blank">生活没有安全感</a> <span class="text-muted">小桔子</span> <a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a><a class="tag" taget="_blank" href="/search/%E5%AD%A4%E7%8B%AC/1.htm">孤独</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%84%9F/1.htm">安全感</a> <div>       圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明</div> </li> <li><a href="/article/918.htm" title="php 基础语法" target="_blank">php 基础语法</a> <span class="text-muted">aichenglong</span> <a class="tag" taget="_blank" href="/search/php+%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95/1.htm">php 基本语法</a> <div>1 .1 php变量必须以$开头 <?php $a=” b”; echo ?> 1 .2 php基本数据库类型 Integer  float/double Boolean string 1 .3 复合数据类型 数组array和对象 object 1 .4 特殊数据类型  null 资源类型(resource)    $co</div> </li> <li><a href="/article/1045.htm" title="mybatis tools 配置详解" target="_blank">mybatis tools 配置详解</a> <span class="text-muted">AILIKES</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a> <div>MyBatis Generator中文文档 MyBatis Generator中文文档地址: http://generator.sturgeon.mopaas.com/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。 本文使用Markdown进行编辑,但是博客显示效</div> </li> <li><a href="/article/1172.htm" title="继承与多态的探讨" target="_blank">继承与多态的探讨</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/JAVA%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1+%E7%BB%A7%E6%89%BF+%E5%AF%B9%E8%B1%A1/1.htm">JAVA面向对象 继承 对象</a> <div>继承 extends   多态 继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:     在A类中定义属性和方法; class A{ //定义属性 int age; //定义方法 public void go</div> </li> <li><a href="/article/1299.htm" title="JS的undefined与null的实例" target="_blank">JS的undefined与null的实例</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div><form name="theform" id="theform"> </form> <script language="javascript"> var a alert(typeof(b)); //这里提示undefined if(theform.datas</div> </li> <li><a href="/article/1426.htm" title="TDD实践(一)" target="_blank">TDD实践(一)</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/%E6%95%8F%E6%8D%B7/1.htm">敏捷</a><a class="tag" taget="_blank" href="/search/TDD/1.htm">TDD</a> <div>一.TDD概述         TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。     </div> </li> <li><a href="/article/1553.htm" title="[Maven学习笔记十]Maven Profile与资源文件过滤器" target="_blank">[Maven学习笔记十]Maven Profile与资源文件过滤器</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>什么是Maven Profile Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息   Profile的激活机制 1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P</div> </li> <li><a href="/article/1680.htm" title="【Hive八】Hive用户自定义生成表函数(UDTF)" target="_blank">【Hive八】Hive用户自定义生成表函数(UDTF)</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a> <div>1. 什么是UDTF   UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集   2. 如何实现UDTF 继承org.apache.hadoop.hive.ql.udf.generic</div> </li> <li><a href="/article/1807.htm" title="tfs restful api 加auth 2.0认计" target="_blank">tfs restful api 加auth 2.0认计</a> <span class="text-muted">ronin47</span> <div>  目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:   一是基于客户端的ip设置。这个比较容易实现。   二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。   现在重点介绍第二种方法实现思路。    前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe</div> </li> <li><a href="/article/1934.htm" title="jdk环境变量配置" target="_blank">jdk环境变量配置</a> <span class="text-muted">byalias</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a> <div>进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置: 1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe 2、安装jdk-7u79-windows-x64.exe 3、配置环境变量:右击"计算机"-->&quo</div> </li> <li><a href="/article/2061.htm" title="《代码大全》表驱动法-Table Driven Approach-2" target="_blank">《代码大全》表驱动法-Table Driven Approach-2</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>package com.ljn.base; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.uti</div> </li> <li><a href="/article/2188.htm" title="SQL 数值四舍五入 小数点后保留2位" target="_blank">SQL 数值四舍五入 小数点后保留2位</a> <span class="text-muted">chicony</span> <a class="tag" taget="_blank" href="/search/%E5%9B%9B%E8%88%8D%E4%BA%94%E5%85%A5/1.htm">四舍五入</a> <div> 1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。 2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。 例如:   select   cast(round(12.5,2)   as   numeric(5,2))  </div> </li> <li><a href="/article/2315.htm" title="c++运算符重载" target="_blank">c++运算符重载</a> <span class="text-muted">CrazyMizzz</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a> <div>一、加+,减-,乘*,除/ 的运算符重载 Rational operator*(const Rational &x) const{ return Rational(x.a * this->a); } 在这里只写乘法的,加减除的写法类似 二、<<输出,>>输入的运算符重载      &nb</div> </li> <li><a href="/article/2442.htm" title="hive DDL语法汇总" target="_blank">hive DDL语法汇总</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E6%94%B9%E5%88%97/1.htm">修改列</a><a class="tag" taget="_blank" href="/search/DDL/1.htm">DDL</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E6%94%B9%E8%A1%A8/1.htm">修改表</a> <div>hive DDL语法汇总 1、对表重命名 hive> ALTER TABLE table_name RENAME TO new_table_name;   2、修改表备注 hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm</div> </li> <li><a href="/article/2569.htm" title="jbox使用说明" target="_blank">jbox使用说明</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a> <div>参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [ 点击下载]  技术交流QQGroup:172543951 100521167 [2011-11-11] jBox v2.3 正式版 - [调整&修复] IE6下有iframe或页面有active、applet控件</div> </li> <li><a href="/article/2696.htm" title="UISegmentedControl 开发笔记" target="_blank">UISegmentedControl 开发笔记</a> <span class="text-muted">dcj3sjt126com</span> <div>  //    typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {     //        UISegmentedControlStylePlain,     // large plain   &</div> </li> <li><a href="/article/2823.htm" title="Slick生成表映射文件" target="_blank">Slick生成表映射文件</a> <span class="text-muted">ekian</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包 "com.typesafe.slick" %% "slick-codegen" % slickVersion 因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包 "com.typesa</div> </li> <li><a href="/article/2950.htm" title="ES-TEST" target="_blank">ES-TEST</a> <span class="text-muted">gengzg</span> <a class="tag" taget="_blank" href="/search/test/1.htm">test</a> <div>package com.MarkNum; import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.annotation</div> </li> <li><a href="/article/3077.htm" title="为何外键不再推荐使用" target="_blank">为何外键不再推荐使用</a> <span class="text-muted">hugh.wang</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/DB/1.htm">DB</a> <div>表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。 在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不</div> </li> <li><a href="/article/3204.htm" title="领域驱动设计" target="_blank">领域驱动设计</a> <span class="text-muted">julyflame</span> <a class="tag" taget="_blank" href="/search/VO/1.htm">VO</a><a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/DTO/1.htm">DTO</a><a class="tag" taget="_blank" href="/search/po/1.htm">po</a> <div>概念: VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对</div> </li> <li><a href="/article/3331.htm" title="单例设计模式" target="_blank">单例设计模式</a> <span class="text-muted">hm4123660</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Singleton/1.htm">Singleton</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">单例设计模式</a><a class="tag" taget="_blank" href="/search/%E6%87%92%E6%B1%89%E5%BC%8F/1.htm">懒汉式</a><a class="tag" taget="_blank" href="/search/%E9%A5%BF%E6%B1%89%E5%BC%8F/1.htm">饿汉式</a> <div>       单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。      &nb</div> </li> <li><a href="/article/3458.htm" title="logback" target="_blank">logback</a> <span class="text-muted">zhb8015</span> <a class="tag" taget="_blank" href="/search/log/1.htm">log</a><a class="tag" taget="_blank" href="/search/logback/1.htm">logback</a> <div>一、logback的介绍      Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class</div> </li> <li><a href="/article/3585.htm" title="整合Kafka到Spark Streaming——代码示例和挑战" target="_blank">整合Kafka到Spark Streaming——代码示例和挑战</a> <span class="text-muted">Stark_Summer</span> <a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/storm/1.htm">storm</a><a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/PARALLELISM/1.htm">PARALLELISM</a><a class="tag" taget="_blank" href="/search/processing/1.htm">processing</a> <div>作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版</div> </li> <li><a href="/article/3712.htm" title="spring-master-slave-commondao" target="_blank">spring-master-slave-commondao</a> <span class="text-muted">王新春</span> <a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/dataSource/1.htm">dataSource</a><a class="tag" taget="_blank" href="/search/slave/1.htm">slave</a><a class="tag" taget="_blank" href="/search/master/1.htm">master</a> <div>互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。 为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数</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>