git log参数详解

git log参数详解

    • 例子
    • 展示两个提交之间的所有提交
    • 筛选提交
    • 历史简化
    • 排序提交
    • 格式化提交
      • `--pretty[=]`
      • `--format=`
      • `--abbrev-commit`
      • `--no-abbrev-commit`
      • `--oneline`
      • `--encoding=`
      • `--expand-tabs = `
      • `--expand-tabs`
      • `--no-expand-tabs`
      • `--notes [= ]`
      • `--no-notes`
      • `--show-signature`
      • `--relative-date`
      • `--date=`
      • `--date=relative`
      • `--date=local`
      • `--date=iso`(或`--date=iso8601`)
      • `--date=iso-strict`(或`--date=iso8601-strict`)
      • `--date=rfc`(或`--date=rfc2822`)
      • `--date=short`
      • `--date=raw`
      • `--date=human`
      • `--date=unix`
      • `--date=format`:
      • `--date=default`
      • `--parents`
      • `--children`
      • `--left-right`
      • `--graph`
      • `--show-linear-break[=]`
    • 漂亮的打印样式
      • `oneline`
      • `short`
      • `medium`
      • `full`
      • `fuller`
      • `reference`
      • `email`
      • `mboxrd`
      • `raw`
      • `format:`
        • 占位符扩展为单个文字字符:
        • 影响以后的占位符格式的占位符:
          • `%Cred `
          • `%Cgreen `
          • `%Cblue `
          • `%Creset `
          • `%C(…)`
          • `%m`
          • `%w([[,[,]]])`
          • `%<( [,trunc | ltrunc | mtrunc])`
        • 占位符扩展为从提交中提取的信息:
          • `%H`
          • `%H`
          • `%T`
          • `%t`
          • `%P`
          • `%p`
          • `%an`
          • `%aN`
          • `%ae`
          • `%aE`
          • `%al`
          • `%aL`
          • `%ad`
          • `%aD`
          • `%ar`
          • `%at`
          • `%ai`
          • `%al`
          • `%as`
          • `%cn`
          • `%cN`
          • `%ce`
          • `%cE`
          • `%cl`
          • `%cL`
          • `%cd`
          • `%cD`
          • `%cr`
          • `%ct`
          • `%ci`
          • `%cI`
          • `%CS`
          • `%d`
          • `%D`
          • `%S`
          • `%e`
          • `%s`
          • `%F`
          • `%b`
          • `%B`
          • `%N`
          • `%GG`
          • `%G?`
          • `%GS`
          • `%GK`
          • `%GF`
          • `%GP`
          • `%GT`
          • `%gD`
          • `%gd`
          • `%gn`reflog
          • `%gN`reflog
          • `%ge`reflog
          • `%gE`reflog
          • `%gs`reflog
      • tformat

例子

例子
git log --no-merges
显示整个提交历史,但跳过任何合并

git log v2.6.12… include/scsi drivers/scsi
显示自v2.6.12版本以来所有更改include/scsi或drivers/scsi子目录中 任何文件的提交

git log --since=“2 weeks ago” – gitk
显示最近两周对文件gitk的更改。在–避免与混乱是必要的分公司名为 gitk

git log --name-status release…test
显示在“测试”分支中但尚未在“发布”分支中的提交,以及每个提交修改的路径列表。

git log --follow builtin/rev-list.c
显示更改的提交builtin/rev-list.c,包括在为文件提供其当前名称之前发生的那些提交。

git log --branches --not --remotes=origin
显示在任何本地分支中但不在任何远程跟踪分支中的所有提交的提交。

git log master --not --remotes=*/master
显示所有在本地master中但不在任何远程存储库master分支中的提交。

git log -p -m --first-parent
仅从“主分支”角度显示包括更改差异的历史记录,跳过来自合并分支的提交,并显示合并引入的更改的完整差异。仅当在一个集成分支上遵循严格的合并所有主题分支的策略时,这才有意义。

git log -L ‘/int main/’,/^}/:main.c
显示main()文件中的功能如何main.c随时间演变。

git log -3
将提交的显示次数限制为3。

展示两个提交之间的所有提交

特殊符号“ .. ”可以用作“^ ”的简写

假设有如下提交记录,他们按时间逆序排列
7919e7674a467f0e5b1d13e99b26af5e6e1b212b ------( HEAD)
16705844a1f0d8e979fa838483d0b70860a9b786
16846670beabe3fed39e7e56bd91f2d52818d17b
8b6a2bb356c9f5cebc4ccc83d8faaacf62ca9dee ------(origin)

git log origin..HEAD 展示origin到HEAD不包含origin这次提交的其余所有提交

..前面的commit-id必须是更早地提交 不然将不会检索到结果,
比如:git log 8b6a2bb..7919e7674a46
展示了7919e7674a467f 16705844a1f0d 16846670beabe3f三次提交
git log 7919e7674a4..8b6a2bb356的结果为空

git log HEAD ^origin 效果和git log origin..HEAD 是一样的 但是要注意 ^的位置 应该在更早的commit-id前面

git log ^8b6a2bb356 7919e7674agit log 7919e7674a ^8b6a2bb356 效果是一样的
都展示了7919e7674a467f 16705844a1f0d 16846670beabe3f三次提交
git log 8b6a2bb356 ^7919e7674a 将不会有任何结果展示

另一个特殊的表示法是“”,这对合并很有用。提交的结果集是两个操作数之间的对称差。以下两个命令是等效的:
git log A B --not $(git merge-base --all A B)
git log A...B

筛选提交

--max-count= - -n 三者等效 限制要输出的提交数。
--skip= 跳过前number次提交
--since= --after=比指定日期更晚的提交
--until= --before=比指定日期更早地提交
--author= --committer=具有与指定模式(正则表达式)匹配的作者/提交者标题行的提交。
--grep=与指定模式(正则表达式)匹配的日志消息的提交。如果有多个–grep=提交,则选择其消息与任何给定模式匹配的提交

历史简化

有时只对历史的某些部分感兴趣,例如,修改特定 的提交。但是历史简化有两个部分 ,一个是选择提交,另一个是如何执行,因为有多种策略可以简化历史。
选择修改给定的提交。
--simplify-by-decoration
选择由某个分支或标签引用的提交。

请注意,可以显示额外的提交以提供有意义的历史记录。

以下选项影响简化的方式:

Default mode
将历史简化为最简单的历史,解释树的最终状态。最简单,因为如果最终结果相同,它将修剪一些侧分支(即合并具有相同内容的分支)

--show-pulls
包括默认模式下的所有提交,还包括不是对第一个父级的TREESAME而是对后一个父级的TREESAME的所有合并提交。此模式有助于显示“首次引入”分支更改的合并提交。

--full-history
与默认模式相同,但不修剪某些历史记录。

--dense
仅显示选定的提交,还有一些具有有意义的历史记录。

--sparse
显示了简化历史记录中的所有提交。

--simplify-merges
–full-history从结果历史记录中删除一些不必要的合并的 附加选项,因为没有选定的提交会对此合并作出贡献。

--ancestry-path
给定要显示的提交范围(例如commit1…commit2 或commit2 ^commit1)时,仅显示直接存在于commit1和 commit2之间的祖先链上的提交,即既是commit1的后代又是commit2的后代的提交。

排序提交

--date-order
日期顺序 在显示所有子项之前不显示任何父母,否则以提交时间戳记顺序显示提交。

--author-date-order
在显示所有子项之前不显示任何父母,否则按作者时间戳顺序显示提交。

--topo-order
在显示所有子项之前,不要显示任何父母,并避免在多个历史记录中混合显示提交。

--reverse
以相反的顺序输出选择显示的提交

格式化提交

--pretty[=]

--format=

以给定的格式漂亮地打印提交日志的内容,
其中可以是oneline,short,medium, full,fuller,reference,email,raw,format: 和 tformat:之一。
如果都不是上述内容,并且其中包含%placeholder,则它的作用就像给出了--pretty = tformat:一样。
如果省略= 部分,则默认为medium

--abbrev-commit

不要显示完整的40字节十六进制提交对象名称,而是显示一个可以唯一命名对象的前缀。“ --abbrev = ”(如果显示,它也会修改diff输出)选项可用于指定前缀的最小长度。

对于使用80列终端的人来说,这应该使“ --pretty = oneline”更具可读性。

--no-abbrev-commit

显示完整的40字节十六进制提交对象名称。这否定 --abbrev-commit了其他选项(例如“ --oneline”)的显式或隐式。它还会覆盖log.abbrevCommit变量。

--oneline

这是一起使用的--pretty = oneline --abbrev-commit的简写。

--encoding=

提交对象在其编码标头中记录用于日志消息的编码。此选项可用于告诉命令以用户首选的编码方式重新编码提交日志消息。对于非管道命令,默认为UTF-8

--expand-tabs =

--expand-tabs

--no-expand-tabs

在日志消息中执行选项卡扩展(在每个选项卡中留出足够的空间以填充到下一个显示列,该显示列是的倍数),然后在输出中显示它。 --expand-tabs是的简写形式–expand-tabs=8, --no-expand-tabs也是的简写形式–expand-tabs=0,它禁用制表符扩展。

默认情况下,选项卡以漂亮的格式扩展,该格式将日志消息缩进4个空格

--notes [= ]

在显示提交日志消息时,显示注释提交的注释。

这是默认的git loggit show并且git whatchanged在没有命令--pretty--format或者--oneline在命令行上给出的选项。

默认情况下,显示的注释来自core.notesRef and notes.displayRef变量中列出的注释参考 (或相应的环境替代)。

可以组合多个–notes选项来控制显示哪些笔记。示例:--notes = foo将仅显示“ refs/notes/foo”中的注释;“ --notes = foo --notes”将同时显示“ refs/notes/foo”中的注释和默认注释ref中的注释。

--no-notes

不要显示注释。–notes通过重置从中显示注释的注释引用列表,可以取消上述选项。选项按命令行给定的顺序进行解析,因此,例如“ --notes --notes = foo --no-notes --notes = bar”将仅显示“ refs/notes/bar”中的注释。

--show-signature

通过将签名传递到gpg --verify并显示输出来检查已签名提交对象的有效性。

--relative-date

--date=relative的同义词.

--date=

仅对以人类可读格式显示的日期生效,例如使用时--pretty。log.dateconfig变量为log命令的--date选项设置默认值。默认情况下,日期显示在原始时区(提交者或作者的时间)中。如果-local将附加到格式(例如iso-local),则使用用户的本地时区。

--date=relative

显示相对于当前时间的日期,例如“ 2小时前”。该-local选项对--date=relative无效 。

--date=local

--date=default-local的别名。

--date=iso(或--date=iso8601

以类似于ISO 8601的格式显示时间戳。与严格的ISO 8601格式的区别是:

用空格代替T日期/时间定界符

时区与时区之间的空间

时区的小时和分钟之间没有冒号

--date=iso-strict(或--date=iso8601-strict

以严格的ISO 8601格式显示时间戳。

--date=rfc(或--date=rfc2822

以RFC 2822格式显示时间戳,通常在电子邮件中找到。

--date=short

仅以YYYY-MM-DD格式显示日期,而不显示时间。

--date=raw

将日期显示为从纪元(1970-01-01 00:00:00 UTC)开始的秒数,后跟一个空格,然后将时区显示为相对UTC的偏移量(a+或-四位数;前两个是小时,并且后两分钟)。即,好像时间戳记是用格式化的strftime("%s %z")。请注意,该-local选项不会影响秒计时以来的值(始终以UTC度量),但是会切换随附的时区值。

--date=human

如果时区与当前时区不匹配,则显示时区;如果时区不匹配,则不显示整个日期(例如,跳过打印年份为“今年”的日期,但是如果显示时,则跳过整个日期本身)最近几天,我们可以说是星期几。对于较早的日期,还会省略小时和分钟。

--date=unix

将日期显示为Unix纪元时间戳(自1970年以来的秒数)。与一样–raw,这始终是UTC,因此-local 无效。

--date=format:

…将格式提供…给您的系统strftime,但%z和%Z除外,它们在内部处理。用于--date=format:%c以系统区域设置的首选格式显示日期。有关strftime格式占位符的完整列表,请参见手册。使用时-local,正确的语法是 --date=format-local:…。

--date=default

是默认格式,与相似 --date=rfc2822,但有一些例外:

星期几后没有逗号

使用本地时区时,将省略时区

--parents

还打印提交的父母(以“ commit parent…”的形式)。还可以启用父级重写,请参见上面的“历史记录简化”。

--children

还打印提交的子项(格式为“ commit child…”)。还可以启用父级重写,请参见上面的“历史记录简化”。

--left-right

标记可从哪个对称差异到达提交。从左侧提交的前缀为<那些用正确的和>。如果与组合–boundary,则这些提交将以前缀-。

例如,如果您具有以下拓扑:

         y---b---b  branch B
        / \ /
       /   .
      /   / \
     o---x---a---a  branch A

您将获得如下输出:

    $ git rev-list --left-right --boundary --pretty=oneline A...B

    >bbbbbbb... 3rd on b
    >bbbbbbb... 2nd on b
    

--graph

在输出的左侧绘制提交历史的基于文本的图形表示。这可能会导致在两次提交之间打印额外的行,以便正确绘制图形历史记录。不能与结合使用–no-walk。

这样可以进行父级重写,请参见上面的“历史简化”。

这意味着--topo-order默认情况下该选项,但是--date-order也可以指定该选项。

--show-linear-break[=]

当不使用–graph时,所有历史分支均被展平,这使得很难看到两个连续的提交不属于线性分支。在这种情况下,此选项在它们之间设置了障碍。如果指定,则将显示该字符串,而不是默认字符串。

漂亮的打印样式

漂亮的格式
如果提交是合并,并且如果pretty-format格式不是oneline,email或raw,则在Author:行之前插入另一行。该行以“ Merge:”开头,并打印祖先提交的哈希,并用空格分隔。

oneline

</code><br> 它设计得尽可能紧凑。</p> </blockquote> <h4><code>short</code></h4> <blockquote> <p><code>commit <hash></code><br> <code>Author: <author></code><br> <code><title line></code></p> </blockquote> <h4><code>medium</code></h4> <blockquote> <p><code>commit <hash></code><br> <code>Author: <author></code><br> <code>Date: <author date></code><br> <code><title line></code><br> <code><full commit message></code></p> </blockquote> <h4><code>full</code></h4> <blockquote> <p><code>commit <hash></code><br> <code>Author: <author></code><br> <code>Commit: <committer></code><br> <code><title line></code><br> <code><full commit message></code></p> </blockquote> <h4><code>fuller</code></h4> <blockquote> <p><code>commit <hash></code><br> <code>Author: <author></code><br> <code>AuthorDate: <author date></code><br> <code>Commit: <committer></code><br> <code>CommitDate: <committer date></code><br> <code><title line></code><br> <code><full commit message></code></p> </blockquote> <h4><code>reference</code></h4> <blockquote> <p><code><abbrev hash> (<title line>, <short author date>)</code><br> 此格式用于在提交消息中引用另一个提交,该格式与相同<code>--pretty='format:%C(auto)%h (%s, %ad)'</code>。默认情况下,日期格式为,<code>--date=short</code>除非<code>--date</code>明确指定了其他选项。与任何<code>format:</code>带格式的占位符一样,其输出不受其他选项(如 <code>--decorate</code>和<code>--walk-reflogs</code>)的影响。</p> </blockquote> <h4><code>email</code></h4> <blockquote> <p><code>From <hash> <date></code><br> <code>From: <author></code><br> <code>Date: <author date></code><br> <code>Subject: [PATCH] <title line></code><br> <code><full commit message></code></p> </blockquote> <h4><code>mboxrd</code></h4> <p>与email相似,但是提交消息中以“ From”开头(以零个或多个“>”开头)的行用“>”引起来,因此它们不会与开始新提交混淆。</p> <h4><code>raw</code></h4> <p>原始格式显示与提交对象中存储的完全相同的整个提交,值得注意的是,无论是否使用<code>--abbrev</code>或<code>--no-abbrev</code>,哈希值都会完整显示,并且父母信息会显示真正的父母承诺,而无需考虑嫁接或历史简化。注意,这种格式会影响提交的显示方式,但不会影响差异显示的方式,例如与<code>git log --raw</code>。要获取原始差异格式的完整对象名称,请使用<code>--no-abbrev</code>。</p> <h4><code>format:<string></code></h4> <p>该格式为:<字符串>格式允许你指定要显示哪些信息。它的工作方式类似于printf格式,但值得注意的例外是您使用%n 而不是\n换行了。</p> <p>例如,格式:“<code>The author of %h was %an, %ar%nThe title was >>%s<<%n</code>” 将显示如下内容:</p> <blockquote> <p><code>The author of fe6e0ee was Junio C Hamano, 23 hours ago</code><br> <code>The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<</code></p> </blockquote> <p>占位符是:</p> <h5>占位符扩展为单个文字字符:</h5> <p>%n 新的一行<br> %% 原始%<br> %x00 从十六进制代码打印一个字节</p> <h5>影响以后的占位符格式的占位符:</h5> <h6><code>%Cred</code></h6> <p>将颜色切换为红色</p> <h6><code>%Cgreen</code></h6> <p>将颜色切换为绿色</p> <h6><code>%Cblue</code></h6> <p>将颜色切换为蓝色</p> <h6><code>%Creset</code></h6> <p>重置颜色</p> <h6><code>%C(…)</code></h6> <p>颜色规范,如git-config的“配置文件”部分中的“值”下所述。<br> 默认情况下,仅在启用日志输出时才显示颜色(通过color.diff,color.ui或<code>--color</code>,auto如果要连接到终端,请遵循前者的设置)。<br> %C(auto,…)被接受为默认值的历史同义词(例如%C(auto,red))。<br> %C(always,…)即使未启用颜色,指定也会显示颜色(尽管考虑仅使用 --color=always启用整个输出的颜色,包括此格式以及git可能会着色的其他任何颜色)。<br> auto独自(即%C(auto))将在下一个占位符上启用自动着色,直到再次切换颜色为止。</p> <h6><code>%m</code></h6> <p>左(<),右(>)或边界(-)标记</p> <h6><code>%w([<w>[,<i1>[,<i2>]]])</code></h6> <p>切换换行,像git-shortlog的-w选项 。</p> <h6><code>%<(<N> [,trunc | ltrunc | mtrunc])</code></h6> <p>使下一个占位符至少占据N列,并在必要时在右侧填充空格。如果输出的长度超过N列,则可以选择在开头(ltrunc),中间(mtrunc)或结尾(trunc)截断。请注意,只有在N> = 2时才可以正确截断。</p> <h5>占位符扩展为从提交中提取的信息:</h5> <h6><code>%H</code></h6> <p>提交哈希</p> <h6><code>%H</code></h6> <p>缩写提交哈希</p> <h6><code>%T</code></h6> <p>树哈希</p> <h6><code>%t</code></h6> <p>缩写树哈希</p> <h6><code>%P</code></h6> <p>父哈希</p> <h6><code>%p</code></h6> <p>缩写父哈希</p> <h6><code>%an</code></h6> <p>作者名</p> <h6><code>%aN</code></h6> <p>作者名称</p> <h6><code>%ae</code></h6> <p>作者电子邮件</p> <h6><code>%aE</code></h6> <p>作者电子邮件</p> <h6><code>%al</code></h6> <p>作者电子邮件本地部分(@符号之前的部分)</p> <h6><code>%aL</code></h6> <p>作者本地部分</p> <h6><code>%ad</code></h6> <p>作者日期(格式方面<code>--date</code> =选项)</p> <h6><code>%aD</code></h6> <p>作者日期,RFC2822样式</p> <h6><code>%ar</code></h6> <p>作者日期,相对</p> <h6><code>%at</code></h6> <p>作者日期,UNIX时间戳</p> <h6><code>%ai</code></h6> <p>作者日期,类似于ISO 8601的格式</p> <h6><code>%al</code></h6> <p>作者日期,严格的ISO 8601格式</p> <h6><code>%as</code></h6> <p>作者日期,短格式(YYYY-MM-DD)</p> <h6><code>%cn</code></h6> <p>提交者名称</p> <h6><code>%cN</code></h6> <p>提交者名称</p> <h6><code>%ce</code></h6> <p>提交者电子邮件</p> <h6><code>%cE</code></h6> <p>提交者电子邮件</p> <h6><code>%cl</code></h6> <p>提交者电子邮件本地部分(@符号之前的部分)</p> <h6><code>%cL</code></h6> <p>遵守.mailmap的 提交者电子邮件本地部分</p> <h6><code>%cd</code></h6> <p>提交者日期(格式方面<code>--date =</code>选项)</p> <h6><code>%cD</code></h6> <p>提交者日期,RFC2822样式</p> <h6><code>%cr</code></h6> <p>提交日期,相对</p> <h6><code>%ct</code></h6> <p>提交者日期,UNIX时间戳</p> <h6><code>%ci</code></h6> <p>提交者日期,类似于ISO 8601的格式</p> <h6><code>%cI</code></h6> <p>提交日期,严格的ISO 8601格式</p> <h6><code>%CS</code></h6> <p>提交者日期,短格式(YYYY-MM-DD)</p> <h6><code>%d</code></h6> <p>引用名称,例如git-log的–decorate选项</p> <h6><code>%D</code></h6> <p>引用名称不带“(”,“)”。</p> <h6><code>%S</code></h6> <p>在到达提交的命令行上给出的ref名称(例如<code>git log --source</code>),仅适用于git log</p> <h6><code>%e</code></h6> <p>编码方式</p> <h6><code>%s</code></h6> <p>subject</p> <h6><code>%F</code></h6> <p>sanitized subject line, suitable for a filename</p> <h6><code>%b</code></h6> <p>主体</p> <h6><code>%B</code></h6> <p>原始主体</p> <h6><code>%N</code></h6> <p>提交笔记</p> <h6><code>%GG</code></h6> <p>来自GPG的原始验证消息,用于已签名的提交</p> <h6><code>%G?</code></h6> <p>显示“ G”表示有效的(有效)签名,“ B”表示不良的签名,“ U”表示有效的签名但有效性未知,“ X”表示有效的签名已经过期,“ Y”表示有效的签名到期的密钥,“ R”表示已撤销的密钥,表示签名良好;如果无法检查签名,则为“ E”(例如,丢失的密钥);如果没有签名,则为“ N”</p> <h6><code>%GS</code></h6> <p>显示签名提交的签名者的名字</p> <h6><code>%GK</code></h6> <p>显示用于签署已签名提交的密钥</p> <h6><code>%GF</code></h6> <p>显示用于签署已签名提交的密钥的指纹</p> <h6><code>%GP</code></h6> <p>显示主键的指纹,该主键的子键用于签署已签名的提交</p> <h6><code>%GT</code></h6> <p>显示用于签署签名提交的密钥的信任级别</p> <h6><code>%gD</code></h6> <p>reflog选择器,例如refs/stash@{1}或refs/stash@{2 minutes ago};格式遵循为该-g选项所述的规则 。之前的部分@是命令行中给定的refname(因此git log -g refs/heads/master 会产生yield refs/heads/master@{0})。</p> <h6><code>%gd</code></h6> <p>缩短的reflog选择器;与相同%gD,但refname部分出于人类可读性的考虑而缩短了(因此 refs/heads/master变为master)。</p> <h6><code>%gn</code>reflog</h6> <p>身份名称</p> <h6><code>%gN</code>reflog</h6> <p>身份名称</p> <h6><code>%ge</code>reflog</h6> <p>身份电子邮件</p> <h6><code>%gE</code>reflog</h6> <p>身份电子邮件</p> <h6><code>%gs</code>reflog</h6> <p>主题</p> <h4>tformat</h4> <p>tformat格式的工作方式与format完全相同,不同之处在于除了它提供“终结者”语义而不是“分隔符”语义。换句话说,换句话说,每个提交都附加了消息终止符(通常是换行符),而不是在条目之间放置分隔符。这意味着单行格式的最终​​输入将以换行正确终止,就像“ oneline”格式一样。For example:</p> <blockquote> <p>$ git log -2 --pretty=format:%h 4da45bef <br> | perl -pe ‘$_ .= " – NO NEWLINE\n" unless /\n/’<br> 4da45be<br> 7134973 – NO NEWLINE</p> </blockquote> <blockquote> <p>$ git log -2 --pretty=tformat:%h 4da45bef <br> | perl -pe ‘$_ .= " – NO NEWLINE\n" unless /\n/’<br> 4da45be<br> 7134973</p> </blockquote> <p>此外,任何无法识别的字符串中包含%的字符串都将被解释为前面带有tformat:。例如,这两个是等效的:</p> <blockquote> <p>$ git log -2 --pretty=tformat:%h 4da45bef<br> $ git log -2 --pretty=%h 4da45bef</p> </blockquote> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1716412576574812160"></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">你可能感兴趣的:(Git从入门到精通,git,log,参数,详解)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1950228285266915328.htm" title="Git 与 GitHub 的对比与使用指南" target="_blank">Git 与 GitHub 的对比与使用指南</a> <span class="text-muted">一念&</span> <a class="tag" taget="_blank" href="/search/%E5%85%B6%E5%AE%83/1.htm">其它</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>Git与GitHub的对比与使用指南在软件开发中,Git和GitHub是两个密切相关但本质不同的工具。下面我将逐步解释它们的定义、区别、核心概念以及如何协同使用,确保内容真实可靠,基于广泛的技术实践。1.什么是Git?Git是一个分布式版本控制系统,由LinusTorvalds于2005年创建。它的核心功能是跟踪代码文件的变化,帮助开发者管理项目历史记录、协作和回滚错误。Git是开源的,可以在本地</div> </li> <li><a href="/article/1950228031117258752.htm" title="深入解析JVM工作原理:从字节码到机器指令的全过程" target="_blank">深入解析JVM工作原理:从字节码到机器指令的全过程</a> <span class="text-muted"></span> <div>一、JVM概述Java虚拟机(JVM)是Java平台的核心组件,它实现了Java"一次编写,到处运行"的理念。JVM是一个抽象的计算机器,它有自己的指令集和运行时内存管理机制。JVM的主要职责:加载:读取.class文件并验证其正确性存储:管理内存分配和垃圾回收执行:解释或编译字节码为机器指令安全:提供沙箱环境限制恶意代码二、JVM架构详解JVM由三个主要子系统组成:1.类加载子系统类加载过程分为</div> </li> <li><a href="/article/1950226517397139456.htm" title="JVM 内存模型深度解析:原子性、可见性与有序性的实现" target="_blank">JVM 内存模型深度解析:原子性、可见性与有序性的实现</a> <span class="text-muted">练习时长两年半的程序员小胡</span> <a class="tag" taget="_blank" href="/search/JVM/1.htm">JVM</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%89%96%E6%9E%90%EF%BC%9A%E4%BB%8E%E9%9D%A2%E8%AF%95%E8%80%83%E7%82%B9%E5%88%B0%E7%94%9F%E4%BA%A7%E5%AE%9E%E8%B7%B5/1.htm">深度剖析:从面试考点到生产实践</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98%E6%A8%A1%E5%9E%8B/1.htm">内存模型</a> <div>在了解了JVM的基础架构和类加载机制后,我们需要进一步探索Java程序在多线程环境下的内存交互规则。JVM内存模型(JavaMemoryModel,JMM)定义了线程和主内存之间的抽象关系,它通过规范共享变量的访问方式,解决了多线程并发时的数据一致性问题。本文将从内存模型的核心目标出发,详解原子性、可见性、有序性的实现机制,以及volatile、synchronized等关键字在其中的作用。一、J</div> </li> <li><a href="/article/1950226390070652928.htm" title="Flowable 高级扩展:自定义元素与性能优化实战" target="_blank">Flowable 高级扩展:自定义元素与性能优化实战</a> <span class="text-muted">练习时长两年半的程序员小胡</span> <a class="tag" taget="_blank" href="/search/Flowable/1.htm">Flowable</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%BC%95%E6%93%8E%E5%AE%9E%E6%88%98%E6%8C%87%E5%8D%97/1.htm">流程引擎实战指南</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%9B%BE/1.htm">流程图</a><a class="tag" taget="_blank" href="/search/flowable/1.htm">flowable</a><a class="tag" taget="_blank" href="/search/BPMN/1.htm">BPMN</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%BC%95%E6%93%8E/1.htm">流程引擎</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>在前五篇文章中,我们从基础概念、流程设计、API实战、SpringBoot集成,到外部系统协同,逐步构建了Flowable的应用体系。但企业级复杂场景中,原生功能往往难以满足定制化需求——比如需要特殊的审批规则网关、与决策引擎联动实现动态路由,或是在高并发场景下优化流程引擎性能。本文将聚焦Flowable的高级扩展能力,详解如何自定义流程元素、集成规则引擎,并掌握大型系统中的性能调优策略。一、自定</div> </li> <li><a href="/article/1950225785054883840.htm" title="Java | 多线程经典问题 - 售票" target="_blank">Java | 多线程经典问题 - 售票</a> <span class="text-muted">Ada54</span> <div>一、售票需求1)同一个票池2)多个窗口卖票,不能出售同一张票二、售票问题代码实现(线程与进程小总结,请戳:Java|线程和进程,创建线程)step1:定义SaleWindow类实现Runnable接口,覆盖run方法step2:实例化SaleWindow对象,创建Thread对象,将SaleWindow作为参数传给Thread类的构造函数,然后通过Thread.start()方法启动线程step3</div> </li> <li><a href="/article/1950224746352275456.htm" title="车载诊断架构 --- 关于诊断时间参数P4的浅析" target="_blank">车载诊断架构 --- 关于诊断时间参数P4的浅析</a> <span class="text-muted">汽车电子实验室</span> <a class="tag" taget="_blank" href="/search/%E8%BD%A6%E8%BD%BD%E7%94%B5%E5%AD%90%E7%94%B5%E6%B0%94%E6%9E%B6%E6%9E%84/1.htm">车载电子电气架构</a><a class="tag" taget="_blank" href="/search/%E6%BC%AB%E8%B0%88UDS%E8%AF%8A%E6%96%AD%E5%8D%8F%E8%AE%AE%E7%B3%BB%E5%88%97/1.htm">漫谈UDS诊断协议系列</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/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><a class="tag" taget="_blank" href="/search/%E5%85%B3%E4%BA%8E%E7%BD%91%E5%85%B3%E8%BD%AC%E5%8F%91%E6%80%A7%E8%83%BD%E5%BC%95%E8%B5%B7%E7%9A%84%E6%80%9D%E8%80%83/1.htm">关于网关转发性能引起的思考</a><a class="tag" taget="_blank" href="/search/%E6%B1%BD%E8%BD%A6%E4%B8%AD%E5%A4%AE%E6%8E%A7%E5%88%B6%E5%8D%95%E5%85%83HPC%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84/1.htm">汽车中央控制单元HPC软件架构</a><a class="tag" taget="_blank" href="/search/%E8%BD%A6%E8%BD%BD%E8%AF%8A%E6%96%AD%E8%BF%9B%E9%98%B6%E7%AF%87/1.htm">车载诊断进阶篇</a> <div>关于诊断时间参数P4的浅析我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的豁达,往不幸上面喷“香水”来掩盖问题。无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦</div> </li> <li><a href="/article/1950222345163567104.htm" title="深入理解汇编语言子程序设计与系统调用" target="_blank">深入理解汇编语言子程序设计与系统调用</a> <span class="text-muted">网安spinage</span> <a class="tag" taget="_blank" href="/search/%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80/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><a class="tag" taget="_blank" href="/search/%E6%B1%87%E7%BC%96/1.htm">汇编</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>本文将全面解析汇编语言中子程序设计的核心技术以及系统调用的实现方法,涵盖参数传递的多种方式、堆栈管理、API调用等关键知识点,并提供实际案例演示。一、子程序设计:参数传递的艺术1.寄存器传参:高效简洁.386.modelflat,stdcalloptioncasemap:none.dataxdd5;定义变量ydd6sumdd?.code;函数定义:addxy1addxy1procpushebpmo</div> </li> <li><a href="/article/1950219166367674368.htm" title="包含日志获取webshell" target="_blank">包含日志获取webshell</a> <span class="text-muted">陈望_ning</span> <div>日志文件关闭:Apache目录下的httpd.conf文件#ErrorLog"logs/error.log"#CustomLog"logs/access.log"common加#号为注释不产生日志文件如果去掉#将会在Apache/logs/目录下产生日志文件linux:access_logerror_logwindows:access.logerror.logaccess_log每一行记录了一次网</div> </li> <li><a href="/article/1950214784112717824.htm" title="C++ :vector的模拟" target="_blank">C++ :vector的模拟</a> <span class="text-muted">诚自然成</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>目录一、vector的迭代器二、vector的构造函数默认构造函数参数构造函数迭代器范围构造函数拷贝构造函数swap:交换vector重载赋值符析构函数reserve:扩容vectorresize:调整大小push_back:添加元素empty:判空pop_back:后删获取大小与容量:size(),capacity()重载operator[]:元素访问insert:插入元素erase:删除一个元</div> </li> <li><a href="/article/1950213272120651776.htm" title="Redis + Caffeine 实现高效的两级缓存架构" target="_blank">Redis + Caffeine 实现高效的两级缓存架构</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%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>Redis+Caffeine实现高效的两级缓存架构引言在现代高并发系统中,缓存是提升系统性能的关键组件之一。传统的单一缓存方案往往难以同时满足高性能和高可用性的需求。本文将介绍如何结合Redis和Caffeine构建一个高效的两级缓存系统,并通过三个版本的演进展示如何逐步优化代码结构。项目源代码:github地址、gitee地址两级缓存架构概述两级缓存通常由本地缓存(如Caffeine)和分布式缓</div> </li> <li><a href="/article/1950209621381672960.htm" title="Android 应用权限管理详解" target="_blank">Android 应用权限管理详解</a> <span class="text-muted"></span> <div>文章目录1.权限类型2.权限请求机制3.权限组和分级4.权限管理的演进5.权限监控和SELinux强制访问控制6.应用权限审核和GooglePlayProtect7.开发者最佳实践8.用户权限管理9.Android应用沙箱模型10.ScopedStorage(分区存储)11.背景位置权限(BackgroundLocationAccess)12.权限回收和自动清理13.权限请求的用户体验设计14.G</div> </li> <li><a href="/article/1950209116165173248.htm" title="uniapp微信小程序 - 详解微信小程序平台用户授权登录全流程,uniapp v3版本中小程序端开发下用户点击登录后获取手机号/昵称/性别/头像等信息完成登录(提供完整示例代码,一键复制开箱即用)" target="_blank">uniapp微信小程序 - 详解微信小程序平台用户授权登录全流程,uniapp v3版本中小程序端开发下用户点击登录后获取手机号/昵称/性别/头像等信息完成登录(提供完整示例代码,一键复制开箱即用)</a> <span class="text-muted">十一猫咪爱养鱼</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E7%BB%84%E4%BB%B6%E4%B8%8E%E5%8A%9F%E8%83%BD%28%E5%BC%80%E7%AE%B1%E5%8D%B3%E7%94%A8%29/1.htm">前端组件与功能(开箱即用)</a><a class="tag" taget="_blank" href="/search/uniapp%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3/1.htm">uniapp常见问题解决</a><a class="tag" taget="_blank" href="/search/uniapp/1.htm">uniapp</a><a class="tag" taget="_blank" href="/search/vue3/1.htm">vue3</a><a class="tag" taget="_blank" href="/search/uniapp3%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%8E%88%E6%9D%83%E7%99%BB%E5%BD%95/1.htm">uniapp3小程序授权登录</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%99%BB%E5%BD%95%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7%E4%BF%A1%E6%81%AF%E6%95%99%E7%A8%8B/1.htm">微信小程序登录获取用户信息教程</a><a class="tag" taget="_blank" href="/search/%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7%E6%98%B5%E7%A7%B0%E6%89%8B%E6%9C%BA%E5%8F%B7%E5%A4%B4%E5%83%8F%E4%BF%A1%E6%81%AF%E7%99%BB%E5%BD%95/1.htm">获取用户昵称手机号头像信息登录</a><a class="tag" taget="_blank" href="/search/vue3%E7%89%88%E6%9C%AC%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%B9%B3%E5%8F%B0%E6%8E%88%E6%9D%83%E7%99%BB%E5%BD%95/1.htm">vue3版本小程序平台授权登录</a><a class="tag" taget="_blank" href="/search/uniap%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%AB%AF%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E6%B5%81%E7%A8%8B/1.htm">uniap小程序端用户登录流程</a><a class="tag" taget="_blank" href="/search/uni%E5%AE%8C%E6%95%B4%E7%9A%84%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%B9%B3%E5%8F%B0%E7%99%BB%E5%BD%95%E6%BA%90%E7%A0%81/1.htm">uni完整的小程序平台登录源码</a> <div>效果图在uniapp微信小程序端开发中,超详细实现用户授权登录完整功能源码,用户授权后获取手机号/昵称/头像/性别等,提供完整思路流程及逻辑讲解。uniappVue3和Vue2都能用,你也可以直接复制粘贴,然后改下参数放到你的项目中去就行。整体思路做功能之前,先来看一下整体流程是</div> </li> <li><a href="/article/1950208989954371584.htm" title="Selenium 特殊控件操作与 ActionChains 实践详解" target="_blank">Selenium 特殊控件操作与 ActionChains 实践详解</a> <span class="text-muted">小馋喵知识杂货铺</span> <a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a> <div>1.下拉框单选操作(a)使用SeleniumSelect类(标准HTML标签)Selenium提供了内置的Select类用于操作标准下拉框,这种方式简单且直观。fromselenium.webdriver.support.uiimportSelect#定位下拉框dropdown=Select(driver.find_element("id","dropdown_id"))#通过以下三种方式选择单个</div> </li> <li><a href="/article/1950208107032408064.htm" title="DPDK 技术详解:榨干网络性能的“瑞士军刀”" target="_blank">DPDK 技术详解:榨干网络性能的“瑞士军刀”</a> <span class="text-muted"></span> <div>你是否曾感觉,即使拥有顶级的服务器和万兆网卡,你的网络应用也总是“喂不饱”硬件,性能总差那么一口气?传统的网络处理方式,就像在高速公路上设置了太多的收费站和检查点,限制了数据包的“奔跑”速度。今天,我们要深入探讨一个能够打破这些瓶颈,让你的网络应用快到飞起的“黑科技”——DPDK(DataPlaneDevelopmentKit,数据平面开发套件)。这不仅仅是一个工具包,更是一种全新的网络处理哲学。</div> </li> <li><a href="/article/1950207097413103616.htm" title="微信公众号回调java_处理微信公众号消息回调" target="_blank">微信公众号回调java_处理微信公众号消息回调</a> <span class="text-muted">weixin_39607620</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E5%9B%9E%E8%B0%83java/1.htm">微信公众号回调java</a> <div>1、背景在上一节中,咱们知道如何接入微信公众号,可是以后公众号会与咱们进行交互,那么微信公众号如何通知到咱们本身的服务器呢?咱们知道咱们接入的时候提供的url是GET/mp/entry,那么公众号以后产生的事件将会以POST/mp/entry发送到咱们本身的服务器上。html2、代码实现,此处仍是使用weixin-java-mp这个框架实现一、引入weixin-java-mpcom.github.</div> </li> <li><a href="/article/1950204954295726080.htm" title="Anaconda 和 Miniconda:功能详解与选择建议" target="_blank">Anaconda 和 Miniconda:功能详解与选择建议</a> <span class="text-muted">古月฿</span> <a class="tag" taget="_blank" href="/search/python%E5%85%A5%E9%97%A8/1.htm">python入门</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/conda/1.htm">conda</a> <div>Anaconda和Miniconda详细介绍一、Anaconda的详细介绍1.什么是Anaconda?Anaconda是一个开源的包管理和环境管理工具,在数据科学、机器学习以及科学计算领域发挥着关键作用。它以Python和R语言为基础,为用户精心准备了大量预装库和工具,极大地缩短了搭建数据科学环境的时间。对于那些想要快速开展数据分析、模型训练等工作的人员来说,Anaconda就像是一个一站式的“数</div> </li> <li><a href="/article/1950201171369062400.htm" title="Zread.AI:一键将GitHub项目转化为结构化中文手册的AI代码维基工具" target="_blank">Zread.AI:一键将GitHub项目转化为结构化中文手册的AI代码维基工具</a> <span class="text-muted"></span> <div>Zread.AI:一键将GitHub项目转化为结构化中文手册的AI代码维基工具文章来源:PoixeAI文章目录Zread.AI工具概述核心功能优势亮点典型应用场景上手指南注意事项官网地址Zread.AI由智谱Z.ai推出,是一款面向开发者的AI代码维基工具,可在几秒内把任何公开GitHub仓库转化为结构化中文手册,并通过独家Buzz面板聚合commits、issues与相关新闻,让项目脉搏一目了然</div> </li> <li><a href="/article/1950200541233606656.htm" title="Android 基础知识:Android 应用权限详解" target="_blank">Android 基础知识:Android 应用权限详解</a> <span class="text-muted">流水mpc</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>这篇文章为大家系统的梳理一下Android权限相关的知识,在日常开发中,我们都用过权限,但是对于权限的一些细节我们可能掌握的还不够全面,这篇文章会全面的为大家介绍权限相关的知识。当然,本篇文章依然是参考了Google的官方文档:应用权限。本文目录一、认识Android权限(一)Android系统为什么需要权限?Android系统设置权限的目的是保护Android用户的隐私。对于用户的敏感数据And</div> </li> <li><a href="/article/1950200414989250560.htm" title="面试必考题:Android Binder 机制详解" target="_blank">面试必考题:Android Binder 机制详解</a> <span class="text-muted">大模型大数据攻城狮</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/binder/1.htm">binder</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/native/1.htm">native</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/dalvik/1.htm">dalvik</a><a class="tag" taget="_blank" href="/search/retrofit/1.htm">retrofit</a> <div>目录第一章:Binder的基本概念什么是Binder?多角度解读Binder第二章:Binder的工作机制Binder的整体流程服务注册:从零到有的第一步服务查询:找到目标的“地图”服务调用:请求与响应的旅程Binder驱动的幕后功劳为什么Binder这么快?第三章:Binder在系统架构中的角色Activity:界面背后的通信枢纽Binder的角色实例分析Service:后台任务的跨进程支柱Bi</div> </li> <li><a href="/article/1950200162810916864.htm" title="Selenium基础教程" target="_blank">Selenium基础教程</a> <span class="text-muted">lemontree1945</span> <a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a> <div>1.Selenium环境安装1.1浏览器安装Chrome和ChromeDriver下载地址:https://googlechromelabs.github.io/chrome-for-testing/注意:驱动版本号要和浏览器版本号一致;安装后关闭浏览器自动更新:services.msc:打开系统服务找到和google相关的服务,全部修改为禁用1.2安装第三方库seleniumpipinstall</div> </li> <li><a href="/article/1950199910724857856.htm" title="机器学习必备数学与编程指南:从入门到精通" target="_blank">机器学习必备数学与编程指南:从入门到精通</a> <span class="text-muted">a小胡哦</span> <a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80/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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>一、机器学习核心数学基础1.线性代数(神经网络的基础)必须掌握:矩阵运算(乘法、转置、逆)向量空间与线性变换特征值分解与奇异值分解(SVD)为什么重要:神经网络本质就是矩阵运算学习技巧:用NumPy实际操作矩阵运算2.概率与统计(模型评估的关键)核心概念:条件概率与贝叶斯定理概率分布(正态、泊松、伯努利)假设检验与p值应用场景:朴素贝叶斯、A/B测试3.微积分(优化算法的基础)重点掌握:导数与偏导</div> </li> <li><a href="/article/1950199532725792768.htm" title="Android GreenDao介绍和Generator生成表对象代码" target="_blank">Android GreenDao介绍和Generator生成表对象代码</a> <span class="text-muted"></span> <div>目录(?)[-]介绍创建工程转载请注明:http://blog.csdn.net/sinat_30276961/article/details/50052109最近无意中发现了GreenDao,然后查看了一些资料后,发现这个数据库框架很适合用,于是乎,查看了官网的api,并自己写了一个小应用总结一下它的使用方法。介绍按照国际惯例,在开篇,总要先介绍一下什么是GreenDao吧。首先需要说明的是Gr</div> </li> <li><a href="/article/1950195499067830272.htm" title="量子计算解决气候变化:科学家找到了新方法" target="_blank">量子计算解决气候变化:科学家找到了新方法</a> <span class="text-muted">大力出奇迹985</span> <a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%AD%90%E8%AE%A1%E7%AE%97/1.htm">量子计算</a> <div>气候变化已成为全球面临的严峻挑战,传统计算方法在应对与之相关的复杂问题时存在诸多局限。而量子计算作为新兴技术,为解决气候变化难题带来曙光。本文深入剖析科学家利用量子计算应对气候变化的新方法。量子计算凭借独特的量子比特与量子特性,在加速气候模型计算、优化模型参数、预测极端天气事件等方面展现出巨大优势。同时,在可再生能源整合、电网管理、碳捕获等实际应用场景中也发挥着重要作用。尽管目前面临硬件和算法等方</div> </li> <li><a href="/article/1950194868303228928.htm" title="免费编程课程大汇总:从入门到精通的一站式资源" target="_blank">免费编程课程大汇总:从入门到精通的一站式资源</a> <span class="text-muted">大力出奇迹985</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>在数字化时代,编程已成为一项至关重要的技能,无论是为了职业发展还是个人兴趣,学习编程都极具价值。本文精心汇总了丰富的免费编程课程资源,涵盖从基础入门到精通的各个阶段。通过全面介绍如Coursera、edX等在线学习平台,Codecademy、freeCodeCamp等交互式学习网站,以及B站、网易云课堂等视频课程平台的免费课程,为编程学习者提供了一站式的资源指南,帮助读者轻松开启编程学习之旅,逐步</div> </li> <li><a href="/article/1950193605276659712.htm" title="Flutter权限插件详解:permission_handler使用指南" target="_blank">Flutter权限插件详解:permission_handler使用指南</a> <span class="text-muted">AI移动开发前沿</span> <a class="tag" taget="_blank" href="/search/AI%E7%A7%BB%E5%8A%A8%E7%AB%AF%E5%BC%80%E5%8F%91%E5%AE%9D%E5%85%B8/1.htm">AI移动端开发宝典</a><a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a> <div>Flutter权限插件详解:permission_handler使用指南关键词:Flutter、权限插件、permission_handler、权限管理、移动开发摘要:本文围绕Flutter开发中常用的权限插件permission_handler展开详细介绍。首先阐述了在Flutter应用开发中处理权限的背景和重要性,接着深入解析permission_handler的核心概念、架构以及工作原理,通</div> </li> <li><a href="/article/1950192217708621824.htm" title="lesson20:Python函数的标注" target="_blank">lesson20: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> <div>目录引言:为什么函数标注是现代Python开发的必备技能一、函数标注的基础语法1.1参数与返回值标注1.2支持的标注类型1.3Python3.9+的重大改进:标准集合泛型二、高级标注技巧与最佳实践2.1复杂参数结构标注2.2函数类型与回调标注2.3变量注解与类型别名三、静态类型检查工具应用3.1mypy:最流行的类型检查器3.2Pyright与IDE集成3.3运行时类型验证四、函数标注的工程价值与</div> </li> <li><a href="/article/1950191460854853632.htm" title="你的连接不是专用连接攻击者可能试图从 github.com 窃取你的信息(例如,密码、消息或信用卡)。 --解决办法" target="_blank">你的连接不是专用连接攻击者可能试图从 github.com 窃取你的信息(例如,密码、消息或信用卡)。 --解决办法</a> <span class="text-muted"></span> <div>我遇到了.检查安全软件或企业防火墙/代理(包括VPN)这个问题,关了就好,我是用来xbox加速github,所以先开在关既可以加速又可以访问这个错误表明你的浏览器(MicrosoftEdge)无法安全地连接到GitHub,因为遇到了证书验证问题(NET::ERR_CERT_AUTHORITY_INVALID)。错误信息明确指出网站使用了HSTS(HTTPStrictTransportSecurit</div> </li> <li><a href="/article/1950190830606151680.htm" title="【大模型微调实战】4. P-Tuning爆款文案生成:让模型学会小红书“爽感”写作,转化率提升300%" target="_blank">【大模型微调实战】4. P-Tuning爆款文案生成:让模型学会小红书“爽感”写作,转化率提升300%</a> <span class="text-muted">AI_DL_CODE</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BE%AE%E8%B0%83/1.htm">大模型微调</a><a class="tag" taget="_blank" href="/search/P-Tuning/1.htm">P-Tuning</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%BA%A2%E4%B9%A6%E6%96%87%E6%A1%88/1.htm">小红书文案</a><a class="tag" taget="_blank" href="/search/%E7%88%86%E6%AC%BE%E7%94%9F%E6%88%90/1.htm">爆款生成</a><a class="tag" taget="_blank" href="/search/%E6%83%85%E7%BB%AA%E5%BC%BA%E5%8C%96/1.htm">情绪强化</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E7%94%9F%E6%88%90/1.htm">自然语言生成</a><a class="tag" taget="_blank" href="/search/%E6%8F%90%E7%A4%BA%E5%B7%A5%E7%A8%8B/1.htm">提示工程</a> <div>摘要:在内容营销竞争白热化的当下,普通文案已难以突破流量壁垒。本文聚焦P-Tuning技术在小红书爆款文案生成中的落地应用,通过参数化提示向量优化,将抽象的“爽感”写作转化为可量化、可训练的技术指标。文中提出“六步成文法”,从情绪化数据集构建到爆款元素复刻,完整拆解如何用RTX3060级显卡实现0.1%参数量微调,使文案点击率从2.1%提升至8.7%,爆文率提高5倍,单条文案带货超8万元。核心创新</div> </li> <li><a href="/article/1950190326673108992.htm" title="Spark SQL架构及高级用法" target="_blank">Spark SQL架构及高级用法</a> <span class="text-muted">Aurora_NeAr</span> <a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>SparkSQL架构概述架构核心组件API层(用户接口)输入方式:SQL查询;DataFrame/DatasetAPI。统一性:所有接口最终转换为逻辑计划树(LogicalPlan),进入优化流程。编译器层(Catalyst优化器)核心引擎:基于规则的优化器(Rule-BasedOptimizer,RBO)与成本优化器(Cost-BasedOptimizer,CBO)。处理流程:阶段输入输出关键动</div> </li> <li><a href="/article/1950187223672483840.htm" title="GDP经济社会人文民生栅格数据下载网站汇总" target="_blank">GDP经济社会人文民生栅格数据下载网站汇总</a> <span class="text-muted">疯狂学习GIS</span> <div>  本文为“GIS数据获取整理”专栏(https://blog.csdn.net/zhebushibiaoshifu/category_10857546.html)中第八篇独立博客,因此本文全部标题均由“8”开头。本文对目前主要的GDP、社会与经济数据获取网站加以整理与介绍,若需其它GIS领域数据(如遥感影像数据、气象数据、土地土壤数据、农业数据等),大家可以点击上方专栏查看,也可以看这一篇汇总文</div> </li> <li><a href="/article/11.htm" title="VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite" target="_blank">VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite</a> <span class="text-muted">iwindyforest</span> <a class="tag" taget="_blank" href="/search/vmware/1.htm">vmware</a><a class="tag" taget="_blank" href="/search/mac+os/1.htm">mac os</a><a class="tag" taget="_blank" href="/search/10.10/1.htm">10.10</a><a class="tag" taget="_blank" href="/search/workstation/1.htm">workstation</a><a class="tag" taget="_blank" href="/search/player/1.htm">player</a> <div>最近尝试了下VMware下安装MacOS 系统, 安装过程中发现网上可供参考的文章都是VMware Workstation 10以下, MacOS X 10.9以下的文章, 只能提供大概的思路, 但是实际安装起来由于版本问题, 走了不少弯路, 所以我尝试写以下总结, 希望能给有兴趣安装OSX的人提供一点帮助。     写在前面的话: 其实安装好后发现, 由于我的th</div> </li> <li><a href="/article/138.htm" title="关于《基于模型驱动的B/S在线开发平台》源代码开源的疑虑?" target="_blank">关于《基于模型驱动的B/S在线开发平台》源代码开源的疑虑?</a> <span class="text-muted">deathwknight</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a> <div>本人从学习Java开发到现在已有10年整,从一个要自学 java买成javascript的小菜鸟,成长为只会java和javascript语言的老菜鸟(个人邮箱:deathwknight@163.com) 一路走来,跌跌撞撞。用自己的三年多业余时间,瞎搞一个小东西(基于模型驱动的B/S在线开发平台,非MVC框架、非代码生成)。希望与大家一起分享,同时有许些疑虑,希望有人可以交流下 平台</div> </li> <li><a href="/article/265.htm" title="如何把maven项目转成web项目" target="_blank">如何把maven项目转成web项目</a> <span class="text-muted">Kai_Ge</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/MyEclipse/1.htm">MyEclipse</a> <div>创建Web工程,使用eclipse ee创建maven web工程 1.右键项目,选择Project Facets,点击Convert to faceted from 2.更改Dynamic Web Module的Version为2.5.(3.0为Java7的,Tomcat6不支持). 如果提示错误,可能需要在Java Compiler设置Compiler compl</div> </li> <li><a href="/article/392.htm" title="主管???" target="_blank">主管???</a> <span class="text-muted">Array_06</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div>转载:http://www.blogjava.net/fastzch/archive/2010/11/25/339054.html 很久以前跟同事参加的培训,同事整理得很详细,必须得转! 前段时间,公司有组织中高阶主管及其培养干部进行了为期三天的管理训练培训。三天的课程下来,虽然内容较多,因对老师三天来的课程内容深有感触,故借着整理学习心得的机会,将三天来的培训课程做了一个</div> </li> <li><a href="/article/519.htm" title="python内置函数大全" target="_blank">python内置函数大全</a> <span class="text-muted">2002wmj</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>最近一直在看python的document,打算在基础方面重点看一下python的keyword、Build-in Function、Build-in Constants、Build-in Types、Build-in Exception这四个方面,其实在看的时候发现整个《The Python Standard Library》章节都是很不错的,其中描述了很多不错的主题。先把Build-in Fu</div> </li> <li><a href="/article/646.htm" title="JSP页面通过JQUERY合并行" target="_blank">JSP页面通过JQUERY合并行</a> <span class="text-muted">357029540</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a> <div>在写程序的过程中我们难免会遇到在页面上合并单元行的情况,如图所示 如果对于会的同学可能很简单,但是对没有思路的同学来说还是比较麻烦的,提供一下用JQUERY实现的参考代码 function mergeCell(){         var trs = $("#table tr"); &nb</div> </li> <li><a href="/article/773.htm" title="Java基础" target="_blank">Java基础</a> <span class="text-muted">冰天百华</span> <a class="tag" taget="_blank" href="/search/java%E5%9F%BA%E7%A1%80/1.htm">java基础</a> <div>学习函数式编程 package base; import java.text.DecimalFormat; public class Main { public static void main(String[] args) { // Integer a = 4; // Double aa = (double)a / 100000; // Decimal</div> </li> <li><a href="/article/900.htm" title="unix时间戳相互转换" target="_blank">unix时间戳相互转换</a> <span class="text-muted">adminjun</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E6%8D%A2/1.htm">转换</a><a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4%E6%88%B3/1.htm">时间戳</a> <div>如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000) getTime()返回数值的单位是毫秒 Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 62135</div> </li> <li><a href="/article/1027.htm" title="作为一个合格程序员该做的事" target="_blank">作为一个合格程序员该做的事</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a> <div>作为一个合格程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重</div> </li> <li><a href="/article/1154.htm" title="由html5视频播放引发的总结" target="_blank">由html5视频播放引发的总结</a> <span class="text-muted">ayaoxinchao</span> <a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91/1.htm">视频</a><a class="tag" taget="_blank" href="/search/video/1.htm">video</a> <div>前言   项目中存在视频播放的功能,前期设计是以flash播放器播放视频的。但是现在由于需要兼容苹果的设备,必须采用html5的方式来播放视频。我就出于兴趣对html5播放视频做了简单的了解,不了解不知道,水真是很深。本文所记录的知识一些浅尝辄止的知识,说起来很惭愧。   视频结构   本该直接介绍html5的<video>的,但鉴于本人对视频</div> </li> <li><a href="/article/1281.htm" title="解决httpclient访问自签名https报javax.net.ssl.SSLHandshakeException: sun.security.validat" target="_blank">解决httpclient访问自签名https报javax.net.ssl.SSLHandshakeException: sun.security.validat</a> <span class="text-muted">bewithme</span> <a class="tag" taget="_blank" href="/search/httpclient/1.htm">httpclient</a> <div>     如果你构建了一个https协议的站点,而此站点的安全证书并不是合法的第三方证书颁发机构所签发,那么你用httpclient去访问此站点会报如下错误   javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path bu</div> </li> <li><a href="/article/1408.htm" title="Jedis连接池的入门级使用" target="_blank">Jedis连接池的入门级使用</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/redis%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">redis数据库</a><a class="tag" taget="_blank" href="/search/jedis/1.htm">jedis</a> <div>Jedis连接池操作步骤如下:         a.获取Jedis实例需要从JedisPool中获取;         b.用完Jedis实例需要返还给JedisPool;         c.如果Jedis在使用过程中出错,则也需要还给JedisPool; packag</div> </li> <li><a href="/article/1535.htm" title="变与不变" target="_blank">变与不变</a> <span class="text-muted">bingyingao</span> <a class="tag" taget="_blank" href="/search/%E4%B8%8D%E5%8F%98/1.htm">不变</a><a class="tag" taget="_blank" href="/search/%E5%8F%98/1.htm">变</a><a class="tag" taget="_blank" href="/search/%E4%BA%B2%E6%83%85%E6%B0%B8%E6%81%92/1.htm">亲情永恒</a> <div>变与不变    周末骑车转到了五年前租住的小区,曾经最爱吃的西北面馆、江西水饺、手工拉面早已不在,    各种店铺都换了好几茬,这些是变的。    三年前还很流行的一款手机在今天看起来已经落后的不像样子。    三年前还运行的好好的一家公司,今天也已经不复存在。    一座座高楼拔地而起,</div> </li> <li><a href="/article/1662.htm" title="【Scala十】Scala核心四:集合框架之List" target="_blank">【Scala十】Scala核心四:集合框架之List</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>Spark的RDD作为一个分布式不可变的数据集合,它提供的转换操作,很多是借鉴于Scala的集合框架提供的一些函数,因此,有必要对Scala的集合进行详细的了解   1. 泛型集合都是协变的,对于List而言,如果B是A的子类,那么List[B]也是List[A]的子类,即可以把List[B]的实例赋值给List[A]变量   2. 给变量赋值(注意val关键字,a,b</div> </li> <li><a href="/article/1789.htm" title="Nested Functions in C" target="_blank">Nested Functions in C</a> <span class="text-muted">bookjovi</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/closure/1.htm">closure</a> <div>  Nested Functions 又称closure,属于functional language中的概念,一直以为C中是不支持closure的,现在看来我错了,不过C标准中是不支持的,而GCC支持。   既然GCC支持了closure,那么 lexical scoping自然也支持了,同时在C中label也是可以在nested functions中自由跳转的</div> </li> <li><a href="/article/1916.htm" title="Java-Collections Framework学习与总结-WeakHashMap" target="_blank">Java-Collections Framework学习与总结-WeakHashMap</a> <span class="text-muted">BrokenDreams</span> <a class="tag" taget="_blank" href="/search/Collections/1.htm">Collections</a> <div>        总结这个类之前,首先看一下Java引用的相关知识。Java的引用分为四种:强引用、软引用、弱引用和虚引用。         强引用:就是常见的代码中的引用,如Object o = new Object();存在强引用的对象不会被垃圾收集</div> </li> <li><a href="/article/2043.htm" title="读《研磨设计模式》-代码笔记-解释器模式-Interpret" target="_blank">读《研磨设计模式》-代码笔记-解释器模式-Interpret</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/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ package design.pattern; /* * 解释器(Interpreter)模式的意图是可以按照自己定义的组合规则集合来组合可执行对象 * * 代码示例实现XML里面1.读取单个元素的值 2.读取单个属性的值 * 多</div> </li> <li><a href="/article/2170.htm" title="After Effects操作&快捷键" target="_blank">After Effects操作&快捷键</a> <span class="text-muted">cherishLC</span> <a class="tag" taget="_blank" href="/search/After+Effects/1.htm">After Effects</a> <div>1、快捷键官方文档 中文版:https://helpx.adobe.com/cn/after-effects/using/keyboard-shortcuts-reference.html 英文版:https://helpx.adobe.com/after-effects/using/keyboard-shortcuts-reference.html 2、常用快捷键</div> </li> <li><a href="/article/2297.htm" title="Maven 常用命令" target="_blank">Maven 常用命令</a> <span class="text-muted">crabdave</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>Maven 常用命令   mvn archetype:generate mvn install mvn clean mvn clean complie mvn clean test mvn clean install mvn clean package mvn test mvn package mvn site   mvn dependency:res</div> </li> <li><a href="/article/2424.htm" title="shell bad substitution" target="_blank">shell bad substitution</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a> <div>#!/bin/sh /data/script/common/run_cmd.exp 192.168.13.168 "impala-shell -islave4 -q 'insert OVERWRITE table imeis.${tableName} select ${selectFields}, ds, fnv_hash(concat(cast(ds as string), im</div> </li> <li><a href="/article/2551.htm" title="Java SE 第二讲(原生数据类型 Primitive Data Type)" target="_blank">Java SE 第二讲(原生数据类型 Primitive Data Type)</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>Java SE  第二讲: 1.   Windows: notepad, editplus, ultraedit, gvim Linux: vi, vim, gedit 2.   Java 中的数据类型分为两大类: 1)原生数据类型  (Primitive Data Type) 2)引用类型(对象类型)  (R</div> </li> <li><a href="/article/2678.htm" title="CGridView中实现批量删除" target="_blank">CGridView中实现批量删除</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a> <div>1,CGridView中的columns添加 array( 'selectableRows' => 2, 'footer' => '<button type="button" onclick="GetCheckbox();" style=&</div> </li> <li><a href="/article/2805.htm" title="Java中泛型的各种使用" target="_blank">Java中泛型的各种使用</a> <span class="text-muted">dyy_gusi</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%B3%9B%E5%9E%8B/1.htm">泛型</a> <div>Java中的泛型的使用:1.普通的泛型使用 在使用类的时候后面的<>中的类型就是我们确定的类型。 public class MyClass1<T> {//此处定义的泛型是T private T var; public T getVar() { return var; } public void setVa</div> </li> <li><a href="/article/2932.htm" title="Web开发技术十年发展历程" target="_blank">Web开发技术十年发展历程</a> <span class="text-muted">gcq511120594</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a> <div>回顾web开发技术这十年发展历程: Ajax 03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。 彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a</div> </li> <li><a href="/article/3059.htm" title="openSession()与getCurrentSession()区别:" target="_blank">openSession()与getCurrentSession()区别:</a> <span class="text-muted">hetongfei</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div>来自 http://blog.csdn.net/dy511/article/details/6166134 1.getCurrentSession创建的session会和绑定到当前线程,而openSession不会。 2. getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭。 这里getCurrentSession本地事务(本地</div> </li> <li><a href="/article/3186.htm" title="第一章 安装Nginx+Lua开发环境" target="_blank">第一章 安装Nginx+Lua开发环境</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/openresty/1.htm">openresty</a> <div>首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒</div> </li> <li><a href="/article/3313.htm" title="HSQLDB In-Process方式访问内存数据库" target="_blank">HSQLDB In-Process方式访问内存数据库</a> <span class="text-muted">liyonghui160com</span> <div>    HSQLDB一大特色就是能够在内存中建立数据库,当然它也能将这些内存数据库保存到文件中以便实现真正的持久化。   先睹为快!   下面是一个In-Process方式访问内存数据库的代码示例:     下面代码需要引入hsqldb.jar包 (hsqldb-2.2.8)   import java.s</div> </li> <li><a href="/article/3440.htm" title="Java线程的5个使用技巧" target="_blank">Java线程的5个使用技巧</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>Java线程有哪些不太为人所知的技巧与用法?   萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常 工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同。 </div> </li> <li><a href="/article/3567.htm" title="开发资源大整合:编程语言篇——JavaScript(1)" target="_blank">开发资源大整合:编程语言篇——JavaScript(1)</a> <span class="text-muted">shoothao</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>概述:本系列的资源整合来自于github中各个领域的大牛,来收藏你感兴趣的东西吧。     程序包管理器   管理javascript库并提供对这些库的快速使用与打包的服务。 Bower - 用于web的程序包管理。 component - 用于客户端的程序包管理,构建更好的web应用程序。 spm - 全新的静态的文件包管</div> </li> <li><a href="/article/3694.htm" title="避免使用终结函数" target="_blank">避免使用终结函数</a> <span class="text-muted">vahoa.ma</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a> <div>终结函数(finalizer)通常是不可预测的,常常也是很危险的,一般情况下不是必要的。使用终结函数会导致不稳定的行为、更差的性能,以及带来移植性问题。不要把终结函数当做C++中的析构函数(destructors)的对应物。       我自己总结了一下这一条的综合性结论是这样的: 1)在涉及使用资源,使用完毕后要释放资源的情形下,首先要用一个显示的方</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>