-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
50 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,50 @@ | ||
<!DOCTYPE html><html lang="zh-CN"><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><meta content="yes" name="apple-mobile-web-app-capable"><meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"><meta content="telephone=no" name="format-detection"><meta name="description"><title>子墨不语 | 路漫漫其修远兮,吾将上下而求索</title><link rel="stylesheet" type="text/css" href="/css/style.css?v=0.0.0"><link rel="stylesheet" type="text/css" href="//cdn.bootcss.com/normalize/7.0.0/normalize.min.css"><link rel="stylesheet" type="text/css" href="//cdn.bootcss.com/pure/1.0.0/pure-min.css"><link rel="stylesheet" type="text/css" href="//cdn.bootcss.com/pure/1.0.0/grids-responsive-min.css"><link rel="stylesheet" href="//cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css"><script type="text/javascript" src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script><link rel="Shortcut Icon" type="image/x-icon" href="/favicon.ico"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><link rel="apple-touch-icon-precomposed" href="/apple-touch-icon.png"><link rel="alternate" type="application/atom+xml" href="/atom.xml"></head><body><div class="body_container"><div id="header"><div class="site-name"><h1 class="hidden">子墨不语</h1><a id="logo" href="/.">子墨不语</a><p class="description">路漫漫其修远兮,吾将上下而求索</p></div><div id="nav-menu"><a href="/." class="current"><i class="fa fa-home"> 首页</i></a><a href="/archives/"><i class="fa fa-archive"> 归档</i></a><a href="/about/"><i class="fa fa-user"> 关于</i></a><a href="/atom.xml"><i class="fa fa-rss"> 订阅</i></a></div></div><div id="layout" class="pure-g"><div class="pure-u-1 pure-u-md-3-4"><div class="content_container"><div class="post"><h1 class="post-title"><a href="/2017/11/10/由DBUtils使用ResultHandler引出的一个关于JavaBean反射的问题/">由DBUtils使用ResultHandler引出的一个关于JavaBean反射的问题</a></h1><div class="post-meta">2017-11-10</div><div class="post-content"><p>今天搭建服务器,使用DBUtils处理数据库的时候,出了个小问题:<br><br><figure class="highlight java"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div></pre></td><td class="code"><pre><div class="line"><span class="function"><span class="keyword">public</span> Device <span class="title">findById</span><span class="params">(String sn)</span> <span class="keyword">throws</span> SQLException </span>{</div><div class="line"> String sql = <span class="string">"SELECT * FROM device WHERE sn=?"</span>;</div><div class="line"> QueryRunner runner = DBUtils.getQuerryRunner();</div><div class="line"> <span class="keyword">return</span> runner.query(sql, <span class="keyword">new</span> BeanHandler<>(Device.class), sn);</div><div class="line">}</div><div class="line"></div><div class="line"><span class="comment">//定义业务Model定义</span></div><div class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">Device</span> </span>{</div><div class="line"> <span class="keyword">public</span> String sn;</div><div class="line"> <span class="keyword">public</span> String uuid;</div><div class="line"> <span class="keyword">public</span> String name;</div><div class="line"> <span class="keyword">public</span> String chargeAddr;</div><div class="line"> <span class="keyword">public</span> String addr1;</div><div class="line"> <span class="keyword">public</span> String addr2;</div><div class="line"> <span class="keyword">public</span> String firmware;</div><div class="line"> <span class="keyword">public</span> Float compensation;</div><div class="line"> <span class="keyword">public</span> Long lastUpdateTime;</div><div class="line">}</div></pre></td></tr></table></figure></p></div><p class="readmore"><a href="/2017/11/10/由DBUtils使用ResultHandler引出的一个关于JavaBean反射的问题/">阅读全文</a></p></div><div class="post"><h1 class="post-title"><a href="/2017/11/09/前端学习笔记_JavaScript学习(一)/">前端学习笔记_JavaScript学习(一)</a></h1><div class="post-meta">2017-11-09</div><div class="post-content"><p>技术成长栈:</p> | ||
<ol> | ||
<li>Android</li> | ||
<li>Java、C/C++</li> | ||
<li>HTML + CSS + JavaScript</li></div><p class="readmore"><a href="/2017/11/09/前端学习笔记_JavaScript学习(一)/">阅读全文</a></p></div><div class="post"><h1 class="post-title"><a href="/2017/09/27/Android启动源码阅读(三)systemserver的启动过程/">Android启动源码阅读(三)systemserver进程的启动</a></h1><div class="post-meta">2017-09-27</div><div class="post-content"><p>上一篇[zygote进程的启动]我们讲述了<a href="http://molingyu.com/2017/09/27/Android%E5%90%AF%E5%8A%A8%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB(%E4%BA%8C)zygote%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%90%AF%E5%8A%A8/#RuntimeInit-zygoteInit" target="_blank" rel="external">zygote进程的启动</a>,以及循环等待client请求的过程。期间,有一段代码,开启了systemserver进程。 现在我们来看下systemserver到底是怎么起起来的。</p></div><p class="readmore"><a href="/2017/09/27/Android启动源码阅读(三)systemserver的启动过程/">阅读全文</a></p></div><div class="post"><h1 class="post-title"><a href="/2017/09/27/Android启动源码阅读(二)zygote进程的启动/">Android启动源码阅读(二)zygote进程的启动</a></h1><div class="post-meta">2017-09-27</div><div class="post-content"><p>从上一篇<a href="http://molingyu.com/2017/09/26/Android%E5%90%AF%E5%8A%A8%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB(%E4%B8%80)init%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%90%AF%E5%8A%A8/" target="_blank" rel="external">init的启动</a>可以看到,zygote由init进程解析init.zygoteXXX.rc文件,然后fork进程,并为zygote进程创建了/dev/socket/zygote的socket接口,然后创建zygote进程,执行/system/bin/app_process,传入参数:-Xzygote /system/bin –zygote –start-system-server</p></div><p class="readmore"><a href="/2017/09/27/Android启动源码阅读(二)zygote进程的启动/">阅读全文</a></p></div><div class="post"><h1 class="post-title"><a href="/2017/09/26/Android启动源码阅读(一)init进程的启动/">Android启动源码阅读(一)init进程的启动</a></h1><div class="post-meta">2017-09-26</div><div class="post-content"><p>在Linux系统中,Kernel启动完毕之后,启动的第一个用户空间的进程,就是名为<strong>init</strong>的进程:</p> | ||
<p>以下是查找init进程源码的过程:</p> | ||
<ol> | ||
<li><p>查找init进程mk文件位置:</p> | ||
<p>查找可执行程序:init的编译MODULE定义,即全局查找字符串: LOCAL_MODULE:= init,从而找到mk文件位置system/core/init/Android.mk</p></div><p class="readmore"><a href="/2017/09/26/Android启动源码阅读(一)init进程的启动/">阅读全文</a></p></div><div class="post"><h1 class="post-title"><a href="/2017/09/25/Android源码阅读技巧/">Android源码阅读准备</a></h1><div class="post-meta">2017-09-25</div><div class="post-content"><h2 id="源码下载"><a href="#源码下载" class="headerlink" title="源码下载"></a>源码下载</h2><p>参考<a href="https://source.android.com/source/downloading" target="_blank" rel="external">官方doc</a>,需要自备梯子</p></div><p class="readmore"><a href="/2017/09/25/Android源码阅读技巧/">阅读全文</a></p></div><div class="post"><h1 class="post-title"><a href="/2017/09/18/一个epoll实例/">一个epoll实例</a></h1><div class="post-meta">2017-09-18</div><div class="post-content"><p>epoll 于Linux 2.5.44引入,旨在替换select和poll系统函数。</p> | ||
<p>相对于select和poll来说,epoll更加灵活高效:</p> | ||
<ul> | ||
<li>没有监视描述符数量单进程1024限制</li> | ||
<li>epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。</li></div><p class="readmore"><a href="/2017/09/18/一个epoll实例/">阅读全文</a></p></div><div class="post"><h1 class="post-title"><a href="/2017/09/17/本博客的建立/">本博客的建立</a></h1><div class="post-meta">2017-09-17</div><div class="post-content"><p>白驹过隙,工作已有6个春秋</p> | ||
<p>回望时,竟然没留下些什么</p> | ||
<p>或心情、或笔录、或歌词、或曲调、或技术历程</p> | ||
<p>不免感慨万分</p> | ||
<p>当我老了,至少在这世间留下些什么文字,孤芳自赏也好</p></div><p class="readmore"><a href="/2017/09/17/本博客的建立/">阅读全文</a></p></div><div class="post"><h1 class="post-title"><a href="/2017/09/17/ReentrantLock/">ReentrantLock</a></h1><div class="post-meta">2017-09-17</div><div class="post-content"><p>Java中的可重入锁ReentrantLock很常见,可以用它来代替内置锁synchronized,ReentrantLock是语法级别的锁,所以比内置锁更加灵活。</p> | ||
<p>ReentrantLock是Java并发包中互斥锁,它有公平锁和非公平锁两种实现方式,默认构造函数采用非公平锁的方式实现。</p></div><p class="readmore"><a href="/2017/09/17/ReentrantLock/">阅读全文</a></p></div></div></div><div class="pure-u-1-4 hidden_mid_and_down"><div id="sidebar"><div class="widget"><form action="//www.google.com/search" method="get" accept-charset="utf-8" target="_blank" class="search-form"><input type="text" name="q" maxlength="20" placeholder="Search"/><input type="hidden" name="sitesearch" value="http://www.molingyu.com"/></form></div><div class="widget"><div class="widget-title"><i class="fa fa-folder-o"> 分类</i></div><ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/学习笔记/">学习笔记</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/随笔/">随笔</a></li></ul></div><div class="widget"><div class="widget-title"><i class="fa fa-star-o"> 标签</i></div><div class="tagcloud"><a href="/tags/Android/" style="font-size: 15px;">Android</a> <a href="/tags/源码阅读/" style="font-size: 15px;">源码阅读</a> <a href="/tags/Java/" style="font-size: 15px;">Java</a> <a href="/tags/Linux/" style="font-size: 15px;">Linux</a> <a href="/tags/C-C/" style="font-size: 15px;">C/C++</a> <a href="/tags/随笔/" style="font-size: 15px;">随笔</a> <a href="/tags/前端/" style="font-size: 15px;">前端</a> <a href="/tags/JavaScript/" style="font-size: 15px;">JavaScript</a></div></div><div class="widget"><div class="widget-title"><i class="fa fa-file-o"> 最近文章</i></div><ul class="post-list"><li class="post-list-item"><a class="post-list-link" href="/2017/11/10/由DBUtils使用ResultHandler引出的一个关于JavaBean反射的问题/">由DBUtils使用ResultHandler引出的一个关于JavaBean反射的问题</a></li><li class="post-list-item"><a class="post-list-link" href="/2017/11/09/前端学习笔记_JavaScript学习(一)/">前端学习笔记_JavaScript学习(一)</a></li><li class="post-list-item"><a class="post-list-link" href="/2017/09/27/Android启动源码阅读(三)systemserver的启动过程/">Android启动源码阅读(三)systemserver进程的启动</a></li><li class="post-list-item"><a class="post-list-link" href="/2017/09/27/Android启动源码阅读(二)zygote进程的启动/">Android启动源码阅读(二)zygote进程的启动</a></li><li class="post-list-item"><a class="post-list-link" href="/2017/09/26/Android启动源码阅读(一)init进程的启动/">Android启动源码阅读(一)init进程的启动</a></li><li class="post-list-item"><a class="post-list-link" href="/2017/09/25/Android源码阅读技巧/">Android源码阅读准备</a></li><li class="post-list-item"><a class="post-list-link" href="/2017/09/18/一个epoll实例/">一个epoll实例</a></li><li class="post-list-item"><a class="post-list-link" href="/2017/09/17/本博客的建立/">本博客的建立</a></li><li class="post-list-item"><a class="post-list-link" href="/2017/09/17/ReentrantLock/">ReentrantLock</a></li></ul></div><div class="widget"><div class="widget-title"><i class="fa fa-external-link"> 友情链接</i></div><ul></ul><a href="https://github.com/JakeWharton" title="JakeWharton" target="_blank">JakeWharton</a><ul></ul><a href="https://github.com/Trinea" title="Trinea" target="_blank">Trinea</a><ul></ul><a href="http://blog.csdn.net/luoshengyang" title="罗升阳" target="_blank">罗升阳</a></div></div></div><div class="pure-u-1 pure-u-md-3-4"><div id="footer">Copyright © 2017 <a href="/." rel="nofollow">子墨.</a> Powered by<a rel="nofollow" target="_blank" href="https://hexo.io"> Hexo.</a><a rel="nofollow" target="_blank" href="https://github.com/tufu9441/maupassant-hexo"> Maupassant</a> by<a rel="nofollow" target="_blank" href="https://github.com/pagecho"> Cho.</a></div></div></div><a id="rocket" href="#top" class="show"></a><script type="text/javascript" src="/js/totop.js?v=0.0.0" async></script><script type="text/javascript" src="//cdn.bootcss.com/fancybox/3.1.20/jquery.fancybox.min.js" async></script><script type="text/javascript" src="/js/fancybox.js?v=0.0.0" async></script><link rel="stylesheet" type="text/css" href="//cdn.bootcss.com/fancybox/3.1.20/jquery.fancybox.min.css"><script type="text/javascript" src="/js/codeblock-resizer.js?v=0.0.0"></script><script type="text/javascript" src="/js/smartresize.js?v=0.0.0"></script></div></body></html> | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>Document</title> | ||
</head> | ||
<body> | ||
<button id="signup" >注册</button> | ||
<button id="signin" >登录</button> | ||
<div id="cookies"> | ||
|
||
</div> | ||
<script> | ||
document.getElementById('signup').onclick = () => { | ||
console.log('注册') | ||
|
||
const params = { | ||
data: {}, | ||
path: '/moduleLogin/activity/signup', | ||
} | ||
const d = { | ||
module: 'app', | ||
method: 'openPage', | ||
params: JSON.stringify(params), | ||
} | ||
window.gateioV2.callNative(JSON.stringify(d)) | ||
} | ||
|
||
document.getElementById('signin').onclick = () => { | ||
console.log('登录') | ||
window.gateio.startLogin() | ||
} | ||
|
||
const cookies = document.cookie | ||
const cookieArr = cookies.split('; ') | ||
let html = '' | ||
for(let i = 0; i < cookieArr.length; i++) { | ||
const [key, value] = cookieArr[i].split('=') | ||
html += ` | ||
<div> | ||
<span style="color: red;">${key}</span> | ||
<span style="color: #000">${value}</span> | ||
</div> | ||
` | ||
} | ||
document.getElementById('cookies').innerHTML = html | ||
</script> | ||
</body> | ||
</html> |