java中log日志的使用(完全版)

 
Commons_logging Apache通用日志包
他为Log4JLogger;NoOpLog;LogKitLogger;Jdk14Logger;AvalonLogger提供了一共通用的接口进行调用,使得在使用各种不同的第三方日志包时变得非常简单。SimpleLog:是commons_logging自带的一个控制台输出日志。
可以通过简单的配置使用不同的第三方日志包。
src 根目录下放进 commons-logging.properties文件,进行配置使用哪个第三方日志包。
# 定义了使用的具体第三方的日值包
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
org.apache.commons.logging.Log= org.apache.commons.logging.impl.Log4JLogger
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.LogKitLogger
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.AvalonLogger
程序中调用:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public static Log log = LogFactory.getLog(test. class);
log .error(" 成功关闭链接");
 
commons_logging.properties文件中定义好了使用那个第三方日志包,在程序中打印日志时,就使用的是那个包,非常方便。
Log 日志包
log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
ConsoleAppender,控制台输出
FileAppender,文件日志输出
SMTPAppender,发邮件输出日志
SocketAppender,Socket日志
NTEventLogAppender,Window NT日志
SyslogAppender,
JMSAppender,
AsyncAppender,
NullAppender
 
文件输出: RollingFileAppender
log4j.rootLogger= INFO,logfile
log4j.appender.logfile= org.apache.log4j.RollingFileAppender
log4j.appender.logfile.Threshold= INFO          // 输出以上的 INFO 信息
log4j.appender.logfile.File= ../logs/INFO_log     // 保存 log 文件路径
log4j.appender.logfile. Append= true               // 默认为 true ,添加到末尾, false 在每次启动时进行覆盖
log4j.appender.logfile.MaxFileSize= 10KB  // 一个 log 文件的大小,超过这个大小就又会生成 1 个日志 //KB MB GB
log4j.appender.logfile.MaxBackupIndex= 3 // 最多保存 3 个文件备份
log4j.appender.logfile.layout= org.apache.log4j.HTMLLayout      // 输出文件的格式
log4j.appender.logfile.layout.LocationInfo= true # 是否显示类名和行数
log4j.appender.logfile.layout.Title= 页面title       #html 页面的</span> </div> <div> <span style="color:#008000;">##############################</span> <span style="font-size:10pt;color:#2a00ff;"> SampleLayout</span> <span style="color:#008000;"> ####################################</span> </div> <div> <span style="font-size:10pt;color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.SampleLayout</span> </div> <div> <span style="color:#008000;">##############################</span> <span style="font-size:10pt;color:#2a00ff;"> PatternLayout</span> <span style="color:#008000;"> ###################################</span> </div> <div> <span style="color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.PatternLayout</span> </div> <div> <span style="color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout.ConversionPattern=</span> <span style="font-size:10pt;color:#2a00ff;">%d</span> <span style="font-size:10pt;color:#2a00ff;">%p</span> <span style="font-size:10pt;color:#2a00ff;">[%c]</span> <span style="font-size:10pt;color:#2a00ff;">-</span> <span style="font-size:10pt;color:#2a00ff;">%m%n</span> <span style="font-size:10pt;color:#2a00ff;">%d</span> </div> <div> <span style="color:#008000;">##############################</span> <span style="font-size:10pt;color:#2a00ff;"> XMLLayout</span> <span style="color:#008000;"> #######################################</span> </div> <div> <span style="color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.XMLLayout</span> </div> <div> <span style="color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout.LocationInfo=</span> <span style="font-size:10pt;color:#2a00ff;">true   </span> <span style="color:#008000;">#</span> <span style="color:#008000;">是否显示类名和行数</span> </div> <div> <span style="color:#008000;">##############################</span> <span style="font-size:10pt;color:#2a00ff;"> TTCCLayout</span> <span style="color:#008000;"> ######################################</span> </div> <div> <span style="color:#008000;">#</span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.TTCCLayout</span> </div> <div> <span style="color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout.</span> <span style="font-size:10pt;color:#000000;">DateFormat=</span> <code><span style="font-size:9pt;">ISO8601</span></code> </div> <div> <code><span style="font-size:9pt;color:#008000;">#NULL</span></code> <span style="color:#008000;">, </span> <code><span style="font-size:9pt;color:#008000;">RELATIVE</span></code> <span style="color:#008000;">, </span> <code><span style="font-size:9pt;color:#008000;">ABSOLUTE</span></code> <span style="color:#008000;">, </span> <code><span style="font-size:9pt;color:#008000;">DATE</span></code> <span style="color:#008000;"> or </span> <code><span style="font-size:9pt;color:#008000;">ISO8601</span></code> <span style="color:#008000;">.</span> </div> <div> <span style="color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout.</span> <span style="font-size:10pt;color:#000000;">TimeZoneID=</span> <code><span style="font-size:9pt;">GMT-8:00</span></code> </div> <div> <span style="color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout.</span> <span style="font-size:10pt;color:#000000;">CategoryPrefixing=</span> <code><span style="font-size:9pt;">false </span></code> <code><span style="font-size:9pt;color:#008000;">##</span></code> <code><span style="font-size:9pt;color:#008000;">默认为true 打印类别名</span></code> </div> <div> <span style="color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout.</span> <span style="font-size:10pt;color:#000000;">ContextPrinting=</span> <code><span style="font-size:9pt;">false    </span></code> <code><span style="font-size:9pt;color:#008000;">##</span></code> <code><span style="font-size:9pt;color:#008000;">默认为true 打印上下文信息</span></code> </div> <div> <span style="color:#008000;"># </span> <span style="font-size:10pt;color:#000000;">log4j.appender.logfile.layout.</span> <span style="font-size:10pt;color:#000000;">ThreadPrinting=</span> <code><span style="font-size:9pt;">false </span></code> <code><span style="font-size:9pt;color:#008000;">##</span></code> <code><span style="font-size:9pt;color:#008000;">默认为true 打印线程名</span></code> </div> <div> <code><span style="font-size:9pt;color:#008000;"># </span></code> <code><span style="font-size:9pt;color:#008000;">打印信息如下:</span></code> </div> <div> <code><span style="font-size:9pt;color:#008000;">2007-09-13 14:45:39,765 [http-8080-1] ERROR com.poxool.test.test - error</span></code> <code><span style="font-size:9pt;color:#008000;">成功关闭链接</span></code> </div> <div> <span style="color:#008000;">###############################################################################</span> </div> <div> <strong>每天文件的输出:</strong> <span style="font-size:10pt;color:#2a00ff;">DailyRollingFileAppender</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.rootLogger=</span> <span style="font-size:10pt;color:#2a00ff;">INFO,errorlogfile</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.errorlogfile=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.DailyRollingFileAppender</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.errorlogfile.Threshold=</span> <span style="font-size:10pt;color:#2a00ff;">ERROR</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.errorlogfile.File=</span> <span style="font-size:10pt;color:#2a00ff;">../logs/ERROR_log</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.errorlogfile.</span> <span style="font-size:10pt;color:#000000;">Append=</span> <span style="font-size:10pt;color:#2a00ff;">true </span> <span style="font-size:9pt;color:#008000;">#</span> <span style="font-size:9pt;color:#008000;">默认为</span> <span style="font-size:9pt;color:#008000;">true</span> <span style="font-size:9pt;color:#008000;">,添加到末尾,</span> <span style="font-size:9pt;color:#008000;">false</span> <span style="font-size:9pt;color:#008000;">在每次启动时进行覆盖</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.errorlogfile.</span> <span style="font-size:10pt;color:#000000;">ImmediateFlush=</span> <span style="font-size:10pt;color:#2a00ff;">true       </span> <span style="color:#008000;">#</span> <span style="color:#008000;">直接输出,不进行缓存</span> </div> <div> <span style="font-size:9pt;color:#008000;">#'.'yyyy-MM: </span> <span style="font-size:9pt;color:#008000;">每个月更新一个log日志</span> </div> <div> <span style="font-size:9pt;color:#008000;">#'.'yyyy-ww: </span> <span style="font-size:9pt;color:#008000;">每个星期更新一个log日志</span> </div> <div> <span style="font-size:9pt;color:#008000;">#'.'yyyy-MM-dd: </span> <span style="font-size:9pt;color:#008000;">每天更新一个log日志</span> </div> <div> <span style="font-size:9pt;color:#008000;">#'.'yyyy-MM-dd-a: </span> <span style="font-size:9pt;color:#008000;">每天的午夜和正午更新一个log日志</span> </div> <div> <span style="font-size:9pt;color:#008000;">#'.'yyyy-MM-dd-HH: </span> <span style="font-size:9pt;color:#008000;">每小时更新一个log日志</span> </div> <div> <span style="font-size:9pt;color:#008000;">#'.'yyyy-MM-dd-HH-mm: </span> <span style="font-size:9pt;color:#008000;">每分钟更新一个log日志</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.errorlogfile.DatePattern=</span> <span style="font-size:10pt;color:#2a00ff;">'.'yyyy-MM-dd'.log' </span> <span style="color:#008000;">#</span> <span style="color:#008000;">文件名称的格式</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.errorlogfile.layout=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.PatternLayout</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.errorlogfile.layout.ConversionPattern=</span> <span style="font-size:10pt;color:#2a00ff;">%d</span> <span style="font-size:10pt;color:#2a00ff;">%p</span> <span style="font-size:10pt;color:#2a00ff;">[%c]</span> <span style="font-size:10pt;color:#2a00ff;">-</span> <span style="font-size:10pt;color:#2a00ff;">%m%n</span> <span style="font-size:10pt;color:#2a00ff;">%d</span> </div> <div>   </div> <div> <strong>控制台输出:</strong> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.rootLogger=</span> <span style="font-size:10pt;color:#2a00ff;">INFO,consoleAppender</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.consoleAppender=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.ConsoleAppender</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.consoleAppender.Threshold=</span> <span style="font-size:10pt;color:#2a00ff;">ERROR</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.consoleAppender.layout=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.PatternLayout</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.consoleAppender.layout.ConversionPattern=</span> <span style="font-size:10pt;color:#2a00ff;">%d</span> <span style="font-size:10pt;color:#2a00ff;">%-5p</span> <span style="font-size:10pt;color:#2a00ff;">%m%n</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.consoleAppender.</span> <span style="font-size:10pt;color:#000000;">ImmediateFlush=</span> <span style="font-size:10pt;color:#2a00ff;">true        </span> <span style="color:#008000;">//</span> <span style="color:#008000;">直接输出,不进行缓存</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.consoleAppender.</span> <span style="font-size:10pt;color:#000000;">Target=</span> <span style="font-size:10pt;color:#2a00ff;">System.err </span> <span style="color:#008000;">//</span> <span style="color:#008000;">默认是</span> <span style="color:#008000;">System.out</span> <span style="color:#008000;">方式输出</span> </div> <div> <strong> </strong> </div> <pre>!-----------------------------------------------------------------------------!</pre> <pre>!<span>                          PATTERN FORMATS GLOSSARY                           !</span></pre> <pre>!-----------------------------------------------------------------------------!</pre> <pre>! %n – 新的一行<span>                                                              !</span></pre> <pre>! %m – 打印错误信息<span>                                                          !</span></pre> <pre>! %p – 打印优先级信息  (FATAL, ERROR, WARN, INFO, DEBUG or custom)<span>           !</span></pre> <pre>! %r – 打印程序开始后过去的毫秒数<span>                                            !</span></pre> <pre>! %% -  打印输出的百分比<span>                                                       !</span></pre> <pre>!<span>                                                                             !</span></pre> <pre>!-----------------------SOME MORE CLUTTER IN YOUR LOG-------------------------!</pre> <pre>! %c - name of your category (logger), %c{2} will outputs last two components !</pre> <pre>! %t – 打印产生该日志信息的线程名称<span>                                          !</span></pre> <pre>! %x – 打印嵌套的上下文信息<span>                                                  !</span></pre> <pre>!<span>                                                                             !</span></pre> <pre>!-------------------------SLOW PERFORMANCE FORMATS----------------------------!</pre> <pre>! %d – 打印时间和日期, 比如 %d{ISO8601}, %d{DATE}, %d{ABSOLUTE},<span>             !</span></pre> <pre>!<span>        %d{HH:mm:ss,SSS}, %d{dd MMM yyyy HH:mm:ss,SSS} </span>等等<span>                  !</span></pre> <pre>! %l - Shortcut for %F%L%C%M<span>                                                  !</span></pre> <pre>! %F - Java 代码文件名称<span>                                                      !</span></pre> <pre>! %L - Java 代码错误的行数<span>                                                    !</span></pre> <pre>! %C - Java 类的名称, %C{1} 将输出以“.”分割的后面一个<span>                       !</span></pre> <pre>! %M - Java 方法的名称 <span>                                                      !</span></pre> <pre>!<span>                                                                             !</span></pre> <pre>!------------------------------FORMAT MODIFIERS-------------------------------!</pre> <pre>! %-any_letter_above - Left-justify in min. width (default is right-justify) !</pre> <pre>! %20any_letter_above - 20 char. min. width (pad with spaces if reqd.)<span>        !</span></pre> <pre>! %.30any_letter_above - 30 char. max. width (truncate beginning if reqd.)<span>    !</span></pre> <pre>! %-10.10r - Example. Left-justify time elapsed within 10-wide field.<span>        !</span></pre> <pre>!<span>              Truncate from beginning if wider than 10 characters.           !</span></pre> <pre>!-----------------------------------------------------------------------------!</pre> <div> <strong> </strong> </div> <div> <strong>发送邮件:</strong> <span style="font-size:10pt;color:#2a00ff;">SMTPAppender</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.rootLogger=</span> <span style="font-size:10pt;color:#2a00ff;">INFO,MAIL</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.MAIL=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.net.SMTPAppender</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.MAIL.Threshold=</span> <span style="font-size:10pt;color:#2a00ff;">DEBUG</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.MAIL.BufferSize=</span> <span style="font-size:10pt;color:#2a00ff;">10KB</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.MAIL.From=</span> <span style="font-size:10pt;color:#2a00ff;">yu77585211111@163.com</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.MAIL.SMTPHost=</span> <span style="font-size:10pt;color:#2a00ff;">mail.myce.net.cn</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.MAIL.Subject=</span> <span style="font-size:10pt;color:#2a00ff;">Log4J</span> <span style="font-size:10pt;color:#2a00ff;">Message</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.MAIL.To=</span> <span style="font-size:10pt;color:#2a00ff;">yuyongpeng@myce.net.cn</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.MAIL.layout=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.PatternLayout</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.MAIL.layout.ConversionPattern=</span> <span style="font-size:10pt;color:#2a00ff;">%d</span> <span style="font-size:10pt;color:#2a00ff;">-</span> <span style="font-size:10pt;color:#2a00ff;">%c</span> <span style="font-size:10pt;color:#2a00ff;">-%-4r</span> <span style="font-size:10pt;color:#2a00ff;">[%t]</span> <span style="font-size:10pt;color:#2a00ff;">%-5p</span> <span style="font-size:10pt;color:#2a00ff;">%c</span> <span style="font-size:10pt;color:#2a00ff;">%x</span> <span style="font-size:10pt;color:#2a00ff;">-</span> <span style="font-size:10pt;color:#2a00ff;">%m%n</span> </div> <div> <strong> </strong> </div> <div> <strong>数据库:</strong> <span style="font-size:10pt;color:#2a00ff;">JDBCAppender</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.DATABASE=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.jdbc.JDBCAppender</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.DATABASE.URL=</span> <span style="font-size:10pt;color:#2a00ff;">jdbc</span> <span style="font-size:10pt;color:#000000;">:</span> <span style="font-size:10pt;color:#2a00ff;">oracle:thin:@210.51.173.94:1521:YDB</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.DATABASE.driver=</span> <span style="font-size:10pt;color:#2a00ff;">oracle.jdbc.driver.OracleDriver</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.DATABASE.user=</span> <span style="font-size:10pt;color:#2a00ff;">ydbuser</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.DATABASE.password=</span> <span style="font-size:10pt;color:#2a00ff;">ydbuser</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.DATABASE.sql=</span> <span style="font-size:10pt;color:#2a00ff;">INSERT</span> <span style="font-size:10pt;color:#2a00ff;">INTO</span> <span style="font-size:10pt;color:#2a00ff;">A1</span> <span style="font-size:10pt;color:#2a00ff;">(TITLE3)</span> <span style="font-size:10pt;color:#2a00ff;">VALUES</span> <span style="font-size:10pt;color:#2a00ff;">('</span> <span style="font-size:10pt;color:#2a00ff;">%d</span> <span style="font-size:10pt;color:#2a00ff;">-</span> <span style="font-size:10pt;color:#2a00ff;">%c</span> <span style="font-size:10pt;color:#2a00ff;">%-5p</span> <span style="font-size:10pt;color:#2a00ff;">%c</span> <span style="font-size:10pt;color:#2a00ff;">%x</span> <span style="font-size:10pt;color:#2a00ff;">-</span> <span style="font-size:10pt;color:#2a00ff;">%m%n')</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.DATABASE.layout=</span> <span style="font-size:10pt;color:#2a00ff;">org.apache.log4j.PatternLayout</span> </div> <div> <span style="font-size:10pt;color:#000000;">log4j.appender.DATABASE.layout.ConversionPattern=</span> <span style="font-size:10pt;color:#2a00ff;">%d</span> <span style="font-size:10pt;color:#2a00ff;">-</span> <span style="font-size:10pt;color:#2a00ff;">%c</span> <span style="font-size:10pt;color:#2a00ff;">-%-4r</span> <span style="font-size:10pt;color:#2a00ff;">[%t]</span> <span style="font-size:10pt;color:#2a00ff;">%-5p</span> <span style="font-size:10pt;color:#2a00ff;">%c</span> <span style="font-size:10pt;color:#2a00ff;">%x</span> <span style="font-size:10pt;color:#2a00ff;">-</span> <span style="font-size:10pt;color:#2a00ff;">%m%n</span> </div> <div> <span style="font-size:10pt;color:#008000;">//</span> <span style="font-size:10pt;color:#008000;">数据库的链接会有问题,可以重写org.apache.log4j.jdbc.JDBCAppender的<span style="color:#008000;text-decoration:none;">getConnection</span>使用数据库链接池去得链接,可以避免insert一条就链接一次数据库。() </span> </div> <div>   </div>   </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1187693722616307712"></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">你可能感兴趣的:(java中log日志的使用(完全版))</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1881785851046850560.htm" title="vue2和vue3组件传值——父传子" target="_blank">vue2和vue3组件传值——父传子</a> <span class="text-muted">MvemiZ</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>****近期学习vue3的组件传值,发现和之前的vue2版本并没有什么区别,实现的思路都是一样的,文章底部我会用大白话叙述一下vue组件传值的思路过程。下面就一起学习vue的组件传值吧,不足之处大家多批评指正!**vue2-父传子//父组件中通过v-bind绑定了list这个自定义的属性,并赋了一个值dateimportSonViewfrom'@/components/SonView.vue';e</div> </li> <li><a href="/article/1881785093714931712.htm" title="前端面试题-手写篇-万字长文!" target="_blank">前端面试题-手写篇-万字长文!</a> <span class="text-muted">前端Jason</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/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/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95/1.htm">前端面试</a> <div>1.手写实现EventBus实现一个简单的EventBus(事件总线)可以让我们在不同的组件或模块之间进行事件驱动的通信。下面是一个用JavaScript手写实现EventBus的基本例子:classEventBus{constructor(){this.events={};//存储事件名与对应的监听器}//注册事件监听器on(event,listener){if(!this.events[eve</div> </li> <li><a href="/article/1881782825921867776.htm" title="ros开发增加clion常用模板及初始化配置(七)" target="_blank">ros开发增加clion常用模板及初始化配置(七)</a> <span class="text-muted">_无往而不胜_</span> <a class="tag" taget="_blank" href="/search/%E6%96%B0ros%E4%B8%93%E6%A0%8F/1.htm">新ros专栏</a><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/clion/1.htm">clion</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>ros开发增加clion常用模板及初始化配置(七)clion->seting->Editor->LiveTemplates右边+->LiveTemplates例:abbreviation:cpp_ros_main_mew,description:ros中的main方法Templatetext:复制代码最下面右侧Change选择c++,点击左侧apply,ok;在代码中输入cpp_ros_main_</div> </li> <li><a href="/article/1881782320927666176.htm" title="SpringBoot集成Netty实战:构建高效TCPUDP通信服务端【物联网开发必备】" target="_blank">SpringBoot集成Netty实战:构建高效TCPUDP通信服务端【物联网开发必备】</a> <span class="text-muted">m0_74825678</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/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><a class="tag" taget="_blank" href="/search/%E7%89%A9%E8%81%94%E7%BD%91/1.htm">物联网</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>SpringBoot集成Netty实现TCP/UDP通信协议【优化版】引言在现代物联网(IoT)应用中,设备与服务器之间的实时通信至关重要。Netty作为一个高性能的网络应用框架,与SpringBoot的集成可以简化开发过程,并提高应用性能。本文将详细介绍如何在SpringBoot中集成Netty,实现TCP和UDP通信协议。通讯协议在设计通讯协议时,我们考虑了数据的完整性和命令的明确性。以下是我</div> </li> <li><a href="/article/1881782194511343616.htm" title="使用 MySQL 从 JSON 字符串提取数据" target="_blank">使用 MySQL 从 JSON 字符串提取数据</a> <span class="text-muted">m0_74825678</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>使用MySQL从JSON字符串提取数据在现代数据库管理中,JSON格式因其灵活性而广泛使用。然而,当数据存储在JSON中时,我们经常需要将其转换为更易于处理的格式。本篇文章将通过一个具体的SQL查询示例,展示如何从存储在MySQL中的JSON字符串提取数据并重新格式化。1.背景知识JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器</div> </li> <li><a href="/article/1881779296989671424.htm" title="Python中Cache的使用" target="_blank">Python中Cache的使用</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><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a> <div>文章目录一、缓存的基础概念二、基础使用三、进阶使用四、外部缓存工具五、缓存的注意事项一、缓存的基础概念缓存(Cache)是一种在应用程序中提升性能的技术,它通过将一些数据临时存储在快速访问的存储介质(如内存)中,以减少数据的重复计算或重复读取。通常,缓存用于存储一些昂贵计算或IO密集型操作的结果,从而加快程序的执行速度。在Python中,缓存通常用于函数的输出、API请求的结果、数据库查询、文件读</div> </li> <li><a href="/article/1881779297606234112.htm" title="Python学习:Pandas库使用(二)之读写Excel文件——read_excel()和to_excel()函数及其参数详解" target="_blank">Python学习:Pandas库使用(二)之读写Excel文件——read_excel()和to_excel()函数及其参数详解</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%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/pandas/1.htm">pandas</a> <div>在Python的Pandas库中,读取和写入Excel文件主要使用read_excel和to_excel函数。以下是详细用法和示例:1.读取Excel文件:pd.read_excel()importpandasaspd#读取Excel文件df=pd.read_excel('文件路径.xlsx',sheet_name='Sheet1',header=0,usecols='A:C',skiprows=</div> </li> <li><a href="/article/1881779044475793408.htm" title="WPS不登录无法使用基本功能的解决方案" target="_blank">WPS不登录无法使用基本功能的解决方案</a> <span class="text-muted">愚公移山填海</span> <a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a> <div>前言WPS不登录无法使用基本功能的原因通常是为了同步数据、提供更多高级功能或满足软件授权要求。‌然而,一些用户可能出于隐私或便捷性的考虑,不愿意登录账号。在这种情况下,WPS可能会限制未登录用户的使用权限,导致工具栏变灰,无法使用基本功能。‌解决方法1.使用配置工具进行重置修复‌打开WPS配置工具,进入高级设置界面。选择“重置修复”选项,然后点击“重置工具栏”。完成修复后,重启WPS软件以确保设置</div> </li> <li><a href="/article/1881778663846899712.htm" title="word中目录右边页码对不齐解决方法" target="_blank">word中目录右边页码对不齐解决方法</a> <span class="text-muted">Bruce-Lan</span> <a class="tag" taget="_blank" href="/search/office/1.htm">office</a><a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a> <div>这个目录对不齐原因未知;解决方法:1,在视图中打开标尺;2,选择对不齐的目录项;如果整个目录都有出现不对齐,选择整个目录。3,拖动标尺,进行对齐;4,被治愈了。</div> </li> <li><a href="/article/1881778662185955328.htm" title="HarmonyOS 开发实践——基于设置应用的应用权限、通知设置跳转" target="_blank">HarmonyOS 开发实践——基于设置应用的应用权限、通知设置跳转</a> <span class="text-muted">六号嘉宾</span> <a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E5%BC%80%E5%8F%91/1.htm">鸿蒙开发</a><a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">移动开发</a><a class="tag" taget="_blank" href="/search/HarmonyOS/1.htm">HarmonyOS</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E7%B3%BB%E7%BB%9F/1.htm">鸿蒙系统</a><a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">移动开发</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E5%BC%80%E5%8F%91/1.htm">鸿蒙开发</a> <div>往期学习笔录:鸿蒙(HarmonyOS)北向开发知识点记录~鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……场景描述引导用户跳转到系统设置页进行权限,通知</div> </li> <li><a href="/article/1881777528973094912.htm" title="人工智能之数学基础:一个小例子帮你快速搞懂极大线性无关向量组" target="_blank">人工智能之数学基础:一个小例子帮你快速搞懂极大线性无关向量组</a> <span class="text-muted">每天五分钟玩转人工智能</span> <a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B9%8B%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/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/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0/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><a class="tag" taget="_blank" href="/search/%E6%9E%81%E5%A4%A7%E7%BA%BF%E6%80%A7%E6%97%A0%E5%85%B3%E5%90%91%E9%87%8F%E7%BB%84/1.htm">极大线性无关向量组</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a> <div>本文重点在上一节课程中,我们学习了线性相关和线性无关。当线性相关的时候,那么说明这组向量至少存在一个向量可以被其它向量给表示,可以被表示就说明这个向量就是可有可无的,可以被替代的,这里就涉及到极大线性无关向量组的概念了,本文对此进行学习。极大无关向量组的定义与性质定义在线性空间中,如果存在一个向量组,它满足以下两个条件:一是它本身是线性无关的;二是向量空间中的任何包含它的向量组,如果仍然保持线性无</div> </li> <li><a href="/article/1881776647464611840.htm" title="PyInstaller 打包 exe 文件" target="_blank">PyInstaller 打包 exe 文件</a> <span class="text-muted">cliffordl</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%BB%BC%E5%90%88/1.htm">综合</a><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>PyInstaller是一个第三方库,它能够在Windows、Linux、MacOSX等操作系统下将Python源文件打包。通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立文件方便传递和管理。PyInstaller支持Python2.7和Python3.3+。可以在Windows、MacOSX和Linux上使用,但是并不是跨平台的,而是说你要是希望打包成</div> </li> <li><a href="/article/1881776017266241536.htm" title="Ruby Web开发框架的介绍及示例代码" target="_blank">Ruby Web开发框架的介绍及示例代码</a> <span class="text-muted">YurwRuby</span> <a class="tag" taget="_blank" href="/search/ruby/1.htm">ruby</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/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>Ruby是一种简洁而强大的编程语言,广泛用于Web开发。在Ruby生态系统中,有几种实用型的Web开发框架,它们提供了丰富的功能和工具,帮助开发者快速构建可靠的Web应用程序。下面将介绍几种常用的RubyWeb开发框架,并提供相应的示例代码。RubyonRails(Rails)RubyonRails,简称Rails,是Ruby最知名的Web开发框架之一。Rails采用了MVC(Model-View</div> </li> <li><a href="/article/1881774648505462784.htm" title="个人职业发展与AI赋能的前端开发" target="_blank">个人职业发展与AI赋能的前端开发</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>在瞬息万变的科技浪潮中,个人职业发展显得尤为重要。对于前端开发者而言,如何提升自身竞争力,适应日新月异的技术革新,是持续关注的核心问题。而近年来,人工智能(AI)技术的飞速发展,特别是AI代码生成器的兴起,正深刻地改变着前端开发的格局,为开发者们提供了前所未有的机遇。本文将以ScriptEcho为例,探讨AI技术如何赋能前端开发,助力个人职业发展。市场趋势与个人技能提升当前市场对前端开发人才的需求</div> </li> <li><a href="/article/1881774379256311808.htm" title="OpenCV: 深入理解OpenCV中CV_WRAP_AS宏及其作用" target="_blank">OpenCV: 深入理解OpenCV中CV_WRAP_AS宏及其作用</a> <span class="text-muted">湫兮之风</span> <a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</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%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a> <div>在OpenCV中,CV_WRAP_AS是一个宏,主要用于为C++函数或运算符定义别名,以便在生成语言绑定时使用。这对于在不同的编程语言(如Python)中使用OpenCV库时提供更友好的接口非常有用。尽管它在C++代码中不会改变函数的行为,但它在OpenCV的语言绑定系统中起到了重要作用,特别是当OpenCV要为多个语言(如Python)提供接口时。1.CV_WRAP_AS宏的基本用途CV_WRA</div> </li> <li><a href="/article/1881773747111784448.htm" title="SpringCloud系列——5Spring Cloud 源码分析之OpenFeign" target="_blank">SpringCloud系列——5Spring Cloud 源码分析之OpenFeign</a> <span class="text-muted">木木_2024</span> <a class="tag" taget="_blank" href="/search/SpringCloud%E7%B3%BB%E5%88%97/1.htm">SpringCloud系列</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</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/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>学习目标为什么加一个注解就能实现远程过程调用呢?推导它底层的实现主流程?OpenFeign怎么实现RPC的基本功能的通过源码验证第1章OpenFeign主流程推导要明确OpenFeign的主流程首先我们还是要明确它的核心目标是什么?说白了,OpenFeign最核心的目标就是让客户端在远程调用过程中不需要做什么多余的操作,只要拿到一个对象,然后调用该对象的方法就好了,剩下的操作都交给OpenFeig</div> </li> <li><a href="/article/1881773639133622272.htm" title="看板工具提升敏捷管理:实现透明、高效的团队协作与进度管理" target="_blank">看板工具提升敏捷管理:实现透明、高效的团队协作与进度管理</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E6%95%8F%E6%8D%B7%E7%9C%8B%E6%9D%BF%E7%B1%BB%E5%8D%8F%E4%BD%9C%E5%B7%A5%E5%85%B7/1.htm">敏捷看板类协作工具</a> <div>引言随着科技的快速发展与市场需求的不断变化,企业的管理方式也发生了深刻的变革。传统的项目管理方法渐渐无法满足当今企业面对的高效性、灵活性与快速响应的要求。特别是在研发、产品设计、市场营销等多个领域,团队需要更加灵活和透明的工作流管理方式。在这种背景下,敏捷管理应运而生。作为敏捷管理中的一种有效工具,看板(Kanban)凭借其高效、简洁且灵活的特点,已成为全球各行业中团队管理的重要组成部分。本篇文章</div> </li> <li><a href="/article/1881773368714260480.htm" title="Ruby转Go语言:实现高效后端开发" target="_blank">Ruby转Go语言:实现高效后端开发</a> <span class="text-muted">BugTO</span> <a class="tag" taget="_blank" href="/search/ruby/1.htm">ruby</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>在现代软件开发中,选择合适的编程语言对于构建高效的后端系统至关重要。Ruby和Go语言都是备受开发者青睐的语言之一。然而,随着项目的发展和规模的增长,将Ruby代码迁移到Go语言成为了一个常见的需求。本文将探讨从Ruby迁移到Go语言的过程,并提供一些实用的源代码示例。了解Go语言Go语言是由Google开发的一种静态类型、编译型语言。它具有简洁、高效和并发性强的特点,适合构建高性能的后端系统。在</div> </li> <li><a href="/article/1881773241773649920.htm" title="Java 9 Optional新特性深度剖析与实例应用" target="_blank">Java 9 Optional新特性深度剖析与实例应用</a> <span class="text-muted">2501_90323865</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</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/%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%8F%91/1.htm">个人开发</a> <div>在Java编程的漫长旅程中,Optional类一直是处理可选值的得力助手。Java9对其进行了重要扩展,引入了诸多新方法,让Optional的使用更加灵活高效。本文将深入剖析这些新特性,并结合实例进行详细解读。ifPresentOrElse(Consumer,Runnable)方法介绍ifPresentOrElse(Consumer,Runnable)方法是Java9为Optional新增的。当O</div> </li> <li><a href="/article/1881773131740278784.htm" title="2025年敏捷项目管理10大爆炸性趋势,前所未见!" target="_blank">2025年敏捷项目管理10大爆炸性趋势,前所未见!</a> <span class="text-muted"></span> <div>在当今快速发展的商业环境中,项目管理的重要性愈发凸显。敏捷项目管理作为一种灵活高效的管理方法,正逐渐成为众多企业的首选。随着技术的不断进步和市场需求的变化,我们对2025年敏捷项目管理的趋势充满期待。一、敏捷项目管理简介一方面,敏捷项目管理能够快速响应市场需求,实现高效交付。在竞争激烈的市场中,企业需要能够迅速调整项目方向,以满足客户不断变化的需求。敏捷方法论,如Scrum和Kanban等框架,以</div> </li> <li><a href="/article/1881772988974559232.htm" title="R语言的面向对象编程" target="_blank">R语言的面向对象编程</a> <span class="text-muted">2501_90183952</span> <a class="tag" taget="_blank" href="/search/%E5%8C%85%E7%BD%97%E4%B8%87%E8%B1%A1/1.htm">包罗万象</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</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/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>R语言的面向对象编程在现代编程中,面向对象编程(Object-OrientedProgramming,OOP)是一种重要的编程范式,它通过将数据和操作数据的函数结合在一起,来提高代码的重用性和可维护性。在R语言中,面向对象编程并不是一开始就被引入的,但随着其发展,R逐渐支持了多种面向对象编程的系统,例如S3、S4以及R6等。本文将深入探讨R语言的面向对象编程,介绍其基本概念、特点以及在实际应用中的</div> </li> <li><a href="/article/1881772752831049728.htm" title="如何优化项目预算编制?关键步骤解析" target="_blank">如何优化项目预算编制?关键步骤解析</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7%E9%A1%B9%E7%9B%AE%E8%B5%84%E9%87%91/1.htm">项目管理项目管理工具项目资金</a> <div>在项目管理中,资金管理是确保项目顺利进行的关键因素之一。项目资金管理的主要办法和原则包括:预算编制、资金使用监控、风险控制、财务透明度、及时报告和审计。其中,预算编制是项目资金管理的基础,它涉及到对项目所需资金的合理预测和分配。有效的预算编制不仅能帮助项目团队合理配置资源,还能为项目的成功实施提供保障。一、预算编制的重要性预算编制是项目资金管理的首要步骤,它直接影响到项目的整体执行和结果。一个合理</div> </li> <li><a href="/article/1881772625668141056.htm" title="项目范围管理的最佳实践:避免软件项目膨胀" target="_blank">项目范围管理的最佳实践:避免软件项目膨胀</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E8%BD%AF%E4%BB%B6/1.htm">项目管理软件</a> <div>在软件项目管理中,有效的项目范围管理是防止项目过度膨胀的关键。项目范围管理不仅涉及到项目的初步定义,还包括对项目需求的持续监控和控制。通过明确项目目标、合理规划资源、及时调整需求,可以有效避免项目在实施过程中出现范围蔓延的现象。特别是在软件开发中,需求的不断变化和增加往往会导致项目延期和成本超支。因此,建立清晰的项目范围界限、与利益相关者保持良好的沟通、定期进行项目审查是确保项目成功的必要措施。一</div> </li> <li><a href="/article/1881772610728030208.htm" title="2024金三银四必备:Java后端开发面试总结【25个技术专题】" target="_blank">2024金三银四必备:Java后端开发面试总结【25个技术专题】</a> <span class="text-muted">2401_89790869</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</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%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>16、List和Map、Set的区别?17、数组和链表分别比较适合用于什么场景,为什么?18、说说ConcurrentHashMap19、Java中ArrayList和LinkedList区别?20、TreeMap(可排序)21、请用两个队列模拟堆栈结构?22、Map中的key和value可以为null?23、数据结构基础之双向链表24、HashMap的底层实现25、ConcurrentHashM</div> </li> <li><a href="/article/1881772484227821568.htm" title="HTML期末学生大作业-最新QQ音乐、网易云音乐、酷狗音乐、虾米音乐、咪咕音乐网站html+css+javascript" target="_blank">HTML期末学生大作业-最新QQ音乐、网易云音乐、酷狗音乐、虾米音乐、咪咕音乐网站html+css+javascript</a> <span class="text-muted">2401_89790869</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>href=“https://y.qq.com/n/ryqq/playlist/7772849553”>好评999+英文歌!轻松解压100%播放量:2.8亿扎心情歌丨爱到最后终是空欢喜播放量:510.4万如果词不达意就把爱藏心里播放量:1645.7万深情片段:深夜我还是会想起你播放量:2663.8万href=“https://y.qq.com/n/ryqq/playlist/7537828</div> </li> <li><a href="/article/1881771726816210944.htm" title="web前端常见的面试题总结" target="_blank">web前端常见的面试题总结</a> <span class="text-muted">2401_84436095</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>script.src=url+‘?’+data+‘callback=’+funcNamedocument.body.appendChild(script);//这里得到请求的数据,在回调函数中执行处理window[funcName]=function(data){callback(data)}}//使用jsonp(‘http:127.0.0.1:3000/api’,{},function(res)</div> </li> <li><a href="/article/1881770844724719616.htm" title="小白WEB前端学习(五)" target="_blank">小白WEB前端学习(五)</a> <span class="text-muted">Sun ᥫᩣ涵</span> <a class="tag" taget="_blank" href="/search/WEB%E5%89%8D%E7%AB%AF/1.htm">WEB前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>续:小白WEB前端学习(四)继续正式学习CSS(三)6.float布局!主要用于左右做图片,右文字的题目标准流标准流也叫文档流,指的是标签在页面中默认的排布规则,使⼀个元素脱离标准文档流有三种方式1.浮动2.绝对定位3.固定定位例如:块元素独占一行,行内元素可以一行显示多个。浮动作用:让块元素水平排列属性名:float属性值:left和right浮动后会脱离标准流,等于开了一个新的页面,内容在的话</div> </li> <li><a href="/article/1881769837085126656.htm" title="用JavaScript实现找不同小游戏" target="_blank">用JavaScript实现找不同小游戏</a> <span class="text-muted">算是难了</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</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/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/websocket/1.htm">websocket</a> <div>目录倒计时的实现找不同实现对canvas的初始化实现画布的分割,父盒子>子盒子>canvas找不同逻辑的判断实现图片的导入DOM节点的监听声明两个需要监听的节点禁用页面点击事件的函数DOM监听实现勋章分数增加和生命的减少减命逻辑死亡响应websocket交互定义给后端发送的数据包断线重连最后,调用封装好的websocket创建初始之物,其行必丑代码写的非常繁琐,有很多细节在复盘的时候也会想不起来为</div> </li> <li><a href="/article/1881769459107033088.htm" title="使用Python开发PPT文本提取工具" target="_blank">使用Python开发PPT文本提取工具</a> <span class="text-muted">winfredzhang</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/powerpoint/1.htm">powerpoint</a><a class="tag" taget="_blank" href="/search/%E6%8F%90%E5%8F%96%E6%96%87%E5%AD%97/1.htm">提取文字</a> <div>在日常工作中,我们经常需要从PowerPoint文档中提取文本内容进行处理。本文将详细介绍如何使用Python开发一个带图形界面的PPT文本提取工具,该工具可以轻松地从PPTX文件中提取所有文本内容,并按页码显示。C:\pythoncode\new\GetContentOFPPT.py全部代码importwximportosfrompptximportPresentationclassPPTExt</div> </li> <li><a href="/article/1881769080931807232.htm" title="Python(二)——设置文件路径:反斜杠 \ 、双反斜杠 \\和正斜杠 /的区别" target="_blank">Python(二)——设置文件路径:反斜杠 \ 、双反斜杠 \\和正斜杠 /的区别</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><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>在Python中设置文件路径时,不清楚是用双反斜杠\\、反斜杠\还是正斜杠/时,一句话,使用正斜杠/!!!!下面对这三者进行详细介绍及区分:1.双反斜杠\\含义:在编程语言(如Python、C++等)中,反斜杠\是转义字符,用来表示特殊字符(如\n表示换行,\t表示制表符)。为了表示真正的反斜杠,必须使用双反斜杠\\。其实在Python中,第一个\用于转义,告诉Python后面的\是普通的反斜杠字</div> </li> <li><a href="/article/46.htm" title="Maven" target="_blank">Maven</a> <span class="text-muted">Array_06</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>Maven Maven是基于项目对象模型(POM), 信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司</div> </li> <li><a href="/article/173.htm" title="ibatis的queyrForList和queryForMap区别" target="_blank">ibatis的queyrForList和queryForMap区别</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/ibatis/1.htm">ibatis</a> <div>一.说明         iBatis的返回值参数类型也有种:resultMap与resultClass,这两种类型的选择可以用两句话说明之:         1.当结果集列名和类的属性名完全相对应的时候,则可直接用resultClass直接指定查询结果类</div> </li> <li><a href="/article/300.htm" title="LeetCode[位运算] - #191 计算汉明权重" target="_blank">LeetCode[位运算] - #191 计算汉明权重</a> <span class="text-muted">Cwind</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a> <div>原题链接:#191 Number of 1 Bits 要求: 写一个函数,以一个无符号整数为参数,返回其汉明权重。例如,‘11’的二进制表示为'00000000000000000000000000001011', 故函数应当返回3。 汉明权重:指一个字符串中非零字符的个数;对于二进制串,即其中‘1’的个数。 难度:简单 分析: 将十进制参数转换为二进制,然后计算其中1的个数即可。 “</div> </li> <li><a href="/article/427.htm" title="浅谈java类与对象" target="_blank">浅谈java类与对象</a> <span class="text-muted">15700786134</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>      java是一门面向对象的编程语言,类与对象是其最基本的概念。所谓对象,就是一个个具体的物体,一个人,一台电脑,都是对象。而类,就是对象的一种抽象,是多个对象具有的共性的一种集合,其中包含了属性与方法,就是属于该类的对象所具有的共性。当一个类创建了对象,这个对象就拥有了该类全部的属性,方法。相比于结构化的编程思路,面向对象更适用于人的思维</div> </li> <li><a href="/article/554.htm" title="linux下双网卡同一个IP" target="_blank">linux下双网卡同一个IP</a> <span class="text-muted">被触发</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>转自: http://q2482696735.blog.163.com/blog/static/250606077201569029441/ 由于需要一台机器有两个网卡,开始时设置在同一个网段的IP,发现数据总是从一个网卡发出,而另一个网卡上没有数据流动。网上找了下,发现相同的问题不少: 一、 关于双网卡设置同一网段IP然后连接交换机的时候出现的奇怪现象。当时没有怎么思考、以为是生成树</div> </li> <li><a href="/article/681.htm" title="安卓按主页键隐藏程序之后无法再次打开" target="_blank">安卓按主页键隐藏程序之后无法再次打开</a> <span class="text-muted">肆无忌惮_</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%8D%93/1.htm">安卓</a> <div>遇到一个奇怪的问题,当SplashActivity跳转到MainActivity之后,按主页键,再去打开程序,程序没法再打开(闪一下),结束任务再开也是这样,只能卸载了再重装。而且每次在Log里都打印了这句话"进入主程序"。后来发现是必须跳转之后再finish掉SplashActivity   本来代码:   // 销毁这个Activity fin</div> </li> <li><a href="/article/808.htm" title="通过cookie保存并读取用户登录信息实例" target="_blank">通过cookie保存并读取用户登录信息实例</a> <span class="text-muted">知了ing</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> <div>通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。 下面通过cookie保存并读取用户登录信息的例子加深一下理解。 (1)创建index.jsp文件。在改</div> </li> <li><a href="/article/935.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/ObjectPool/1.htm">ObjectPool</a> <div>原文地址: http://www.blogjava.net/baoyaer/articles/218460.html Jakarta对象池       ☆为什么使用对象池   恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。Jakarta Commons Pool组件提供了一整套用于实现对象池化</div> </li> <li><a href="/article/1062.htm" title="ArrayList根据条件+for循环批量删除的方法" target="_blank">ArrayList根据条件+for循环批量删除的方法</a> <span class="text-muted">alleni123</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>场景如下: ArrayList<Obj> list Obj-> createTime, sid. 现在要根据obj的createTime来进行定期清理。(释放内存) ------------------------- 首先想到的方法就是 for(Obj o:list){ if(o.createTime-currentT>xxx){ </div> </li> <li><a href="/article/1189.htm" title="阿里巴巴“耕地宝”大战各种宝" target="_blank">阿里巴巴“耕地宝”大战各种宝</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E5%B9%B3%E5%8F%B0%E6%88%98%E7%95%A5/1.htm">平台战略</a> <div>“耕地保”平台是阿里巴巴和安徽农民共同推出的一个 “首个互联网定制私人农场”,“耕地宝”由阿里巴巴投入一亿 ,主要是用来进行农业方面,将农民手中的散地集中起来 不仅加大农民集体在土地上面的话语权,还增加了土地的流通与 利用率,提高了土地的产量,有利于大规模的产业化的高科技农业的 发展,阿里在农业上的探索将会引起新一轮的产业调整,但是集体化之后农民的个体的话语权 将更少,国家应出台相应的法律法规保护</div> </li> <li><a href="/article/1316.htm" title="Spring注入有继承关系的类(1)" target="_blank">Spring注入有继承关系的类(1)</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/spring/1.htm">spring</a> <div>一个类一个类的注入 1.AClass类 package com.bijian.spring.test2; public class AClass { String a; String b; public String getA() { return a; } public void setA(Strin</div> </li> <li><a href="/article/1443.htm" title="30岁转型期你能否成为成功人士" target="_blank">30岁转型期你能否成为成功人士</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%88%90%E5%8A%9F/1.htm">成功</a> <div>        很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人</div> </li> <li><a href="/article/1570.htm" title="[Velocity三]基于Servlet+Velocity的web应用" target="_blank">[Velocity三]基于Servlet+Velocity的web应用</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a> <div>什么是VelocityViewServlet 使用org.apache.velocity.tools.view.VelocityViewServlet可以将Velocity集成到基于Servlet的web应用中,以Servlet+Velocity的方式实现web应用   Servlet + Velocity的一般步骤 1.自定义Servlet,实现VelocityViewServl</div> </li> <li><a href="/article/1697.htm" title="【Kafka十二】关于Kafka是一个Commit Log Service" target="_blank">【Kafka十二】关于Kafka是一个Commit Log Service</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/service/1.htm">service</a> <div>Kafka is a distributed, partitioned, replicated commit log service.这里的commit log如何理解?   A message is considered "committed" when all in sync replicas for that partition have applied i</div> </li> <li><a href="/article/1824.htm" title="NGINX + LUA实现复杂的控制" target="_blank">NGINX + LUA实现复杂的控制</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/lua+nginx+%E6%8E%A7%E5%88%B6/1.htm">lua nginx 控制</a> <div>安装lua_nginx_module 模块 lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty Centos和debian的安装就简单了。。 这里说下freebsd的安装: fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz tar zxvf lua-5.1.4.tar.gz cd lua-5.1.4 ma</div> </li> <li><a href="/article/1951.htm" title="java-14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字" target="_blank">java-14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> public class TwoElementEqualSum { /** * 第 14 题: 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是 O(n) 。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如输入数组 1 、 2 、 4 、 7 、 11 、 15 和数字 15 。由于 </div> </li> <li><a href="/article/2078.htm" title="Netty源码学习-HttpChunkAggregator-HttpRequestEncoder-HttpResponseDecoder" target="_blank">Netty源码学习-HttpChunkAggregator-HttpRequestEncoder-HttpResponseDecoder</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a> <div>今天看Netty如何实现一个Http Server org.jboss.netty.example.http.file.HttpStaticFileServerPipelineFactory: pipeline.addLast("decoder", new HttpRequestDecoder()); pipeline.addLast(&quo</div> </li> <li><a href="/article/2205.htm" title="java敏感词过虑-基于多叉树原理" target="_blank">java敏感词过虑-基于多叉树原理</a> <span class="text-muted">cngolon</span> <a class="tag" taget="_blank" href="/search/%E8%BF%9D%E7%A6%81%E8%AF%8D%E8%BF%87%E8%99%91/1.htm">违禁词过虑</a><a class="tag" taget="_blank" href="/search/%E6%9B%BF%E6%8D%A2%E8%BF%9D%E7%A6%81%E8%AF%8D/1.htm">替换违禁词</a><a class="tag" taget="_blank" href="/search/%E6%95%8F%E6%84%9F%E8%AF%8D%E8%BF%87%E8%99%91/1.htm">敏感词过虑</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E5%8F%89%E6%A0%91/1.htm">多叉树</a> <div>基于多叉树的敏感词、关键词过滤的工具包,用于java中的敏感词过滤 1、工具包自带敏感词词库,第一次调用时读入词库,故第一次调用时间可能较长,在类加载后普通pc机上html过滤5000字在80毫秒左右,纯文本35毫秒左右。   2、如需自定义词库,将jar包考入WEB-INF工程的lib目录,在WEB-INF/classes目录下建一个 utf-8的words.dict文本文件,</div> </li> <li><a href="/article/2332.htm" title="多线程知识" target="_blank">多线程知识</a> <span class="text-muted">cuishikuan</span> <a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a> <div> T1,T2,T3三个线程工作顺序,按照T1,T2,T3依次进行 public class T1 implements Runnable{           @Override      </div> </li> <li><a href="/article/2459.htm" title="spring整合activemq" target="_blank">spring整合activemq</a> <span class="text-muted">dalan_123</span> <a class="tag" taget="_blank" href="/search/java+spring+jms/1.htm">java spring jms</a> <div>整合spring和activemq需要搞清楚如下的东东1、ConnectionFactory分:     a、spring管理连接到activemq服务器的管理ConnectionFactory也即是所谓产生到jms服务器的链接      b、真正产生到JMS服务器链接的ConnectionFactory还得</div> </li> <li><a href="/article/2586.htm" title="MySQL时间字段究竟使用INT还是DateTime?" target="_blank">MySQL时间字段究竟使用INT还是DateTime?</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>  环境:Windows XPPHP Version 5.2.9MySQL Server 5.1 第一步、创建一个表date_test(非定长、int时间) CREATE TABLE `test`.`date_test` (`id` INT NOT NULL AUTO_INCREMENT ,`start_time` INT NOT NULL ,`some_content`</div> </li> <li><a href="/article/2713.htm" title="Parcel: unable to marshal value" target="_blank">Parcel: unable to marshal value</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/marshal/1.htm">marshal</a> <div>在两个activity直接传递List<xxInfo>时,出现Parcel: unable to marshal value异常。   在MainActivity页面(MainActivity页面向NextActivity页面传递一个List<xxInfo>):   Intent intent = new Intent(this, Next</div> </li> <li><a href="/article/2840.htm" title="linux进程的查看上(ps)" target="_blank">linux进程的查看上(ps)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux+ps/1.htm">linux ps</a><a class="tag" taget="_blank" href="/search/linux+ps+-l/1.htm">linux ps -l</a><a class="tag" taget="_blank" href="/search/linux+ps+aux/1.htm">linux ps aux</a> <div>ps:将某个时间点的进程运行情况选取下来 转载请出自出处:http://eksliang.iteye.com/admin/blogs/2119469 http://eksliang.iteye.com         ps 这个命令的man page 不是很好查阅,因为很多不同的Unix都使用这儿ps来查阅进程的状态,为了要符合不同版本的需求,所以这个</div> </li> <li><a href="/article/2967.htm" title="为什么第三方应用能早于System的app启动" target="_blank">为什么第三方应用能早于System的app启动</a> <span class="text-muted">gqdy365</span> <a class="tag" taget="_blank" href="/search/System/1.htm">System</a> <div>Android应用的启动顺序网上有一大堆资料可以查阅了,这里就不细述了,这里不阐述ROM启动还有bootloader,软件启动的大致流程应该是启动kernel -> 运行servicemanager 把一些native的服务用命令启动起来(包括wifi, power, rild, surfaceflinger, mediaserver等等)-> 启动Dalivk中的第一个进程Zygot</div> </li> <li><a href="/article/3094.htm" title="App Framework发送JSONP请求(3)" target="_blank">App Framework发送JSONP请求(3)</a> <span class="text-muted">hw1287789687</span> <a class="tag" taget="_blank" href="/search/jsonp/1.htm">jsonp</a><a class="tag" taget="_blank" href="/search/%E8%B7%A8%E5%9F%9F%E8%AF%B7%E6%B1%82/1.htm">跨域请求</a><a class="tag" taget="_blank" href="/search/%E5%8F%91%E9%80%81jsonp/1.htm">发送jsonp</a><a class="tag" taget="_blank" href="/search/ajax%E8%AF%B7%E6%B1%82/1.htm">ajax请求</a><a class="tag" taget="_blank" href="/search/%E8%B6%8A%E7%8B%B1%E8%AF%B7%E6%B1%82/1.htm">越狱请求</a> <div>App Framework 中如何发送JSONP请求呢? 使用jsonp,详情请参考:http://json-p.org/ 如何发送Ajax请求呢? (1)登录 /*** * 会员登录 * @param username * @param password */ var user_login=function(username,password){ // aler</div> </li> <li><a href="/article/3221.htm" title="发福利,整理了一份关于“资源汇总”的汇总" target="_blank">发福利,整理了一份关于“资源汇总”的汇总</a> <span class="text-muted">justjavac</span> <a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90/1.htm">资源</a> <div>觉得有用的话,可以去github关注:https://github.com/justjavac/awesome-awesomeness-zh_CN 通用 free-programming-books-zh_CN 免费的计算机编程类中文书籍 精彩博客集合 hacke2/hacke2.github.io#2 ResumeSample 程序员简历</div> </li> <li><a href="/article/3348.htm" title="用 Java 技术创建 RESTful Web 服务" target="_blank">用 Java 技术创建 RESTful Web 服务</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/REST/1.htm">REST</a> <div>转载:http://www.ibm.com/developerworks/cn/web/wa-jaxrs/   JAX-RS (JSR-311) 【 Java API for RESTful Web Services 】是一种 Java™ API,可使 Java Restful 服务的开发变得迅速而轻松。这个 API 提供了一种基于注释的模型来描述分布式资源。注释被用来提供资源的位</div> </li> <li><a href="/article/3475.htm" title="CentOS6.5-x86_64位下oracle11g的安装详细步骤及注意事项" target="_blank">CentOS6.5-x86_64位下oracle11g的安装详细步骤及注意事项</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/linux/1.htm">linux</a> <div>前言: 这两天项目要上线了,由我负责往服务器部署整个项目,因此首先要往服务器安装oracle,服务器本身是CentOS6.5的64位系统,安装的数据库版本是11g,在整个的安装过程中碰到很多的坑,不过最后还是通过各种途径解决并成功装上了。转别写篇博客来记录完整的安装过程以及在整个过程中的注意事项。希望对以后那些刚刚接触的菜鸟们能起到一定的帮助作用。   安装过程中可能遇到的问题(注</div> </li> <li><a href="/article/3602.htm" title="HttpClient 4.3 设置keeplive 和 timeout 的方法" target="_blank">HttpClient 4.3 设置keeplive 和 timeout 的方法</a> <span class="text-muted">supben</span> <a class="tag" taget="_blank" href="/search/httpclient/1.htm">httpclient</a> <div>ConnectionKeepAliveStrategy kaStrategy = new DefaultConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { long keepAlive</div> </li> <li><a href="/article/3729.htm" title="Spring 4.2新特性-@Import注解的升级" target="_blank">Spring 4.2新特性-@Import注解的升级</a> <span class="text-muted">wiselyman</span> <a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a> <div>3.1 @Import @Import注解在4.2之前只支持导入配置类 在4.2,@Import注解支持导入普通的java类,并将其声明成一个bean 3.2 示例 演示java类 package com.wisely.spring4_2.imp; public class DemoService { public void doSomethin</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>