Sovdating Linux

some code for program

Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码。下面是我搜集整理的一些nodejs的学习资料。

Read more »

怀着万分的期待与不安,我告别亲人朋友,只身一人来到广州,一个陌生的城市。

19号晚上,坐了一天火车的我终于来到了这个陌生的城市,并顺利找到了之前租好的房子,然而住房问题并非那么简单,生活也不是我们所想的那么容易的。

Read more »

俗话说:磨刀不误砍柴工,作为程序员,代码编辑器就是我们的斧头,在写代码之前,配置好一个顺手的编辑器就是很重要的了。Sublime Text 是一把好斧头,而它丰富的插件就是磨刀石了。

本文将为你介绍最受欢迎的Sublime Text 插件,大部分插件来自于 Package Control 上的热门榜单。由于 Sublime Text 2 不再更新,Sublime Text 3 也已经稳定,所以替换了几个不支持 Sublime Text 3 的插件。

Read more »

好早之前就想做一个自己的博客,但总是停留在说上而已。或者是忘记了,或者刚要开始就结束了,看到别人做的博客主题都蛮漂亮,但是直接抄袭别人又显得很搓,而且找了很多博客模板,虽然都很漂亮但是并不满意,因为不是自己设计的。在这种纠结的情况下作为一名审美缺乏程序员的我就只好自己设计了。

题目是博客折腾记,如果这样就开始做好了也就没有折腾的说法了。最开始的博客在CSDN上面,感觉蛮方便,但是不能自己定义主题,于是更新了几篇博文后便开始寻找别的博客平台。一次随意的搜索让我发现了博客园,这个博客平台也是聚集了很多技术大牛啊,而且可以自定义主题,于是便开始折腾自己的主题,进而开始在上面更新文章,但是和以前一样,更新没几篇就没有什么感觉了,而且数据完全是存在别人那里,然后便想着自己做博客。

Read more »

导航栏

导航栏增加选中样样式

1
{if $r[catid]==$CATEGORYS[$parentid][catid]||$r[catid]==$catid} class="nav_bg" {/if}

点击父栏目跳转到第一个子栏目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{pc:content action="category" catid="0" num="7" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
{if count(subcat($r[catid])) > 0}
<!--获取第一个子类的 url 字段值-->
{php $zi_arr = explode(',',$r[arrchildid])}
{php $url = $CATEGORYS[$zi_arr[1]][url]}
<!--否则直接得到当前的url-->
{else}
{php $url = $r[url]}
{/if}
<li {if $r[catid]==$CATEGORYS[$CAT[parentid]][catid]||$r[catid]==$catid} class="nav_bg" {/if}>
<a href="{$url}">{$r[catname]}</a>
</li>
{/loop}
{/pc}
Read more »

with table as 介绍:

相当于建个临时表(用于一个语句中某些中间结果放在临时表空间的SQL语句),Oracle 9i 新增WITH语法,可以将查询中的子查询命名,放到SELECT语句的最前面。

**何时被清除 **
临时表不都是会话结束就自动被PGA清除嘛! 但with as临时表是查询完成后就被清除了!

  • 1.用作临时表
1
2
3
4
5
6
with tab as(
select 'aaa','bbb','ccc' from dual
union
select 'aaa2','bbb2','ccc2' from dual
)
select * from tab;
1
2
3
4
5
6
7
8
9
10
11
12
with tt as (
select 'aaa' id, '高' value from dual union all
select 'bbb' id, '低' value from dual union all
select 'aaa' id, '低' value from dual union all
select 'aaa' id, '高' value from dual union all
select 'bbb' id, '低' value from dual union all
select 'bbb' id, '高' value from dual)
SELECT id,
COUNT(decode(VALUE, '高', 1)) 高,
COUNT(decode(VALUE, '低', 1)) 低
FROM tt
GROUP BY id;
1
2
3
4
5
WITH
Q1 AS (SELECT 3 + 5 S FROM DUAL),
Q2 AS (SELECT 3 * 5 M FROM DUAL),
Q3 AS (SELECT S, M, S + M, S * M FROM Q1, Q2)
SELECT * FROM Q3;
  • 2.就是把一大堆重复用到的SQL语句放在with as 里面,取一个别名,后面的查询就可以用它.这样对于大批量的SQL语句起到一个优化的作用
    1
    2
    with a as (select * from test)
    select * from a;

mysql 并不支持此关键字。单功能依然在

Oracle

1
2
3
4
5
6
with tab as(
select 'aaa','bbb','ccc' from dual
union
select 'aaa2','bbb2','ccc2' from dual
)
select * from tab;

** mysql **

1
2
3
4
5
6
# 临时表,方式一
select * from (
select 'aaa,','bbb','ccc' from dual
union
select 'aaa2,','bbb2','ccc2' from dual
) tab;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 临时表,方式二
drop table if exists tab; create table tab as
select * from(
select '张三' name,'男' sex,18 age,SYSDATE() time
union select '李四','女',28,date_sub(SYSDATE(),interval 1 day)
) tab;

select * from tab;

# 临时表,方式二(补充AB表)
drop table if exists tabA; create table tabA as
select * from(
select '刘一' name,'男' sex,18 age,SYSDATE() time
union select '陈二','女',28,date_sub(SYSDATE(),interval 1 day)
union select '张三','女',28,date_sub(SYSDATE(),interval 2 day)
union select '李四','女',28,date_sub(SYSDATE(),interval 3 day)
union select '王五','女',28,date_sub(SYSDATE(),interval 4 day)
union select '赵六','女',28,date_sub(SYSDATE(),interval 5 day)
union select '孙七','女',28,date_sub(SYSDATE(),interval 6day)
) tabA;
drop table if exists tabB; create table tabB as
select * from(
select '赵六' name,'男' sex,18 age,SYSDATE() time
union select '孙七','女',28,date_sub(SYSDATE(),interval 1 day)
union select '周八','女',28,date_sub(SYSDATE(),interval 2 day)
union select '吴九','女',28,date_sub(SYSDATE(),interval 3 day)
union select '郑十','女',28,date_sub(SYSDATE(),interval 4 day)
) tabB;

参考
mysql中怎么实现with..as操作,请大神帮忙。
http://zhidao.baidu.com/link?url=3L-qB-MhKme7JPbbOn34jlLGd7HsJqy_xLtuFCYAcXo2Rcaqi9hMd7Z-bCXUa7SdFxuQvWu1CXQGM_QvJeTEHK

Read more »

效率工具

| 软件类型 | soft | site

| ———— | ———— | ———— |

| 本地文件搜索 | Everything Search Engine| http://www.voidtools.com/ |
| 本地文件搜索 | 极客桌面搜索 | http://f.jicer.cn/ |
| 本地文件搜索 | 光速搜索 |
| 本地全文检索 | filelocatorpro | http://www.mythicsoft.com/filelocatorpro |
| 快速启动器 | win +R(环境变量)|
| 快速启动 器 | Wow | http://www.getwox.com/ |
| 快速启动 器 | Rolan | https://www.irolan.com/ |
| 快速启动 器 | AutoHotkey自定义快捷键, |

| 桌面布局 | Fences 栅栏, TAGO-Fences |
| 系统程序转托盘图标 | Minime SaphuA |
| 系统程序栏位置调整 | Taskbar Shuffle |
| 隐藏任务栏程序 | Minime ,App Hide ,Trayconizer, Hide Taskbar[Ctrl+Esc].exe |
| 轻松调整任务栏图标 | 网生代 |

| [快速查看文件夹大小] | Welcome to JAM Software|

| [快速查看文件夹大小] | Quick View Folder Size|
| [快速查看文件夹大小] | TreeSize Free |
| [快速查看文件夹大小] | TDP x-Ray Lite(饼状图磁盘管理工具)|
| 文件批量重命名 | antrenamer2 |

| 文件批量重命名 | renamer |
| 思维导图 | xMind |
| 下载工具 | aria2(多线程多协议并发下载工具) | https://aria2.github.io/
http://ziahamza.github.io/webui-aria2/
| 差异比较工具 | BCompare |
| OCR | 汉王PDF |
| OCR | 文通TH-OCR |
| 小游戏 | 超级无敌五子棋.exe |
| 录屏 | GifCam.exe
| 录屏 | screen_recorder_setup 录屏.exe

| 录屏 | ScreenToGif - Preview 7.exe
| TXT文件分割器 | TXTCutter

| U盘 | AS SSD Benchmark
| U盘 | ATTO Disk Benchmarks

| U盘 | 金山U盘卫士4.0 提取版.zip

| U盘 | chipgenius_v4_00_0030.exe

| U盘 | FlashGenius.exe

| U盘 | MyDiskTest.exe

| U盘 | sdktest 慧荣方案主控更新CDROM和格式化工具 SMI.exe

| 环境变量工具 | 环境变量 rapidee.exe
| 局域网共享 | 局域网共享设置超级工具.exe

| 局域网共享 | 局域网共享设置.exe

| 图片压缩 | Caesium_boxed 中文绿色单文件版.exe
| 整站下载器 | HTTrack_Portable
| 软件变速 | [变速精灵]speeder.exe
| [单文件执行程序制作] | quick bfc.rar
| [单文件执行程序制作] | Cameyo-1.7.597.exe

| [制作exe文件] | ExeScript211.exe

| 记录应用使用时间 |Hronos.exe
| [截图工具] | SnippingTool.exe

|[在线远程] | TeamViewer,WebConnector |
| 环境变量 | 快速环境编辑器(Rapid Environment Editor) | https://www.rapidee.com/en/download

科学上网

| 软件类型 | soft | site
| 科学上网 | shadowsocks|
| 科学上网 | sockscap64(应用网络代理为 socks ) + shadowsocks( socks 网络翻墙) | https://www.sockscap64.com/
| 科学上网 | 冰果VPN |

| 科学上网 | BINET

| 科学上网 | 实时更新的hosts.cmd |

| 科学上网 | MASS |


开发相关工具

软件类型 soft site
[JD-GUI]v3.3.0 [JD-GUI]Suggestions Java Decompiler
数据库工具 PDMReader数据字典阅读器(PowerDesigner的辅助工具)
数据库工具 dbeaver-3.4.4-win32.win32.x86_64.zip

| 数据库工具 | datagrip-2016.3.4.exe
| 数据库工具 | sqlexplorer_rcp-3.6.1.win32.win32.x86-JRE.zip
| 数据库工具 | SQLyog10.zip

| 数据库工具-mysql | HeidiSQL_9.1_Portable.zip

| 数据库工具-mysql | navicat111_premium

| 数据库工具-mysql | phpMyAdmin-4.3.6-all-languages.zip

| 数据库工具-oracle | oracle客户端 instantclient-basic-windows.x64-12.1.0.2.0.zip

| 数据库工具-oracle | plsql
| ionic | Ionic小助手 V1.7.rar
| wiki | jamwiki-1.3.2-src.zip
| 内网隧道 | ngrok

| 网络调试 | postman
| UML 建模 | UML Lab Modeling IDE 效果图.png
| UML 建模 | edrawmax-cn 亿图

| UML 建模 | ERWin 7.3.zip

| UML 建模 | Navicat Data Modeler mysql数据库模型

| UML 建模 | powerdesign

| UML 建模 | StarUML 类图-韩国

| UML 建模 | yEd UML 流程图

| web服务容器 | nginx
| web服务容器 | yWebServer

| web服务容器 | MyWebServer

wosai

soft desc
wosai 车联网 OpenGTS
wosai 车联网 exlive

linux工具

soft desc
linux工具 Xshell5 0991.exe

| linux工具 | SecureCRT-v7.3.4.zip

java性能问题分析工具

soft desc
[GC分析]gcviewer-1.29-bin.tar.gz https://github.com/chewiebug/GCViewer http://sourceforge.net/projects/gcviewer/
堆栈分析-IBM Java Memory Analyzer Tool (MAT) https://www.ibm.com/developerworks/
堆栈分析-diy jstackAnalyse.java
堆栈分析 TAD https://java.net/projects/tda
[堆栈分析]IBM jca.rar
[堆栈分析] jhat apache-tomcat-7.0.39/conf# jhat tomcat.bin
[堆栈分析]samurai.zip samurai.jar v2.1.6
[堆栈分析]samurai.zip samurai.bat > java -jar samurai.jar
[dump内存分析] IBM HeapAnalyzer (MAT) https://www.ibm.com/developerworks/
[dump内存分析] Memory Analyzer (MAT), MemoryAnalyzer
各分析工具(tad,jca,HeapAnalyzer… )分享 The Dumps ,terIngo Rockel’s Blog博客 http://www.jroller.com/dumpster/
  • 有时你dump出来的堆很大,在启动时会报堆空间不足的错误,可以使用如下参数:
    jhat -J-Xmx512m <heap dump file>

java服务器资源监控

soft desc
jprofiler http://www.ej-technologies.com/
Perfino JVM的强大的监控解决方案
YourKit https://www.yourkit.com/java/profiler/index.jsp
jvisualvm & jconsole JDK 自带监控工具

java中类与类之间的关系工具(eclipse)

| 类型 | soft | site |
| ———— | ———— |
| java类模型 | CDA | http://www.dependency-analyzer.org/ |
| java类模型 | CAP(Code Analysis Plugin)| http://cap.xore.de/ |
| java类模型 | ModelGoon(Java 包的依赖分析的Eclipse插件) |
| java类模型 | Snowberry(Eclipse的Java类图插件 Snowberry)|

system Tool

| 类型 | soft | site |
| ———— | ———— |

| 磁盘分区 | 傲梅分区 |

| 磁盘分区 | Acronis Disk Director Suite V11.0.0.216 |

| TDP x-Ray Lite | 饼状图磁盘管理工具 |

| 系统任务|SystemExplorer|
| 硬件瓶颈 | SystemMonitor|
| 系统优化 | Dism++10.1.6.3A_Full |

| 网卡工具 | MMSU 纵横网络多网卡工具(双网卡同时上网) mmsu_setup.exe|

安全工具

| 类型 | soft | site |
| ———— | ———— |

| 抓包 | fiddler |
| 抓包 | wsexplorer |
| 抓包 | Wireshark |
| 抓包 | HTTP Analyzer Full Edition |
| 抓包 | Betwixt-windows |

| 抓包 | smsniff TCPIP网络数据包捕获 |

it资源分享

| 类型 | soft | site |
| ———— | ———— |
| 在线ppt | slideshare | https://www.slideshare.net/

Read more »

查看当前 Java 系统线程执行状况

使用场景

    1. 定位环境慢 / 功能 慢问题 . 在慢的过程中将执行的堆栈信息 已规律 的间隔 (510 秒 ) 打印出来 . 在连续几次都出现的线程一般是有问题的线程 , 因为在执行 1020 秒中都未销毁的线程 .
    1. 系统 CPU 高居不下 .

堆栈观察 : 首先找到平台产生的进程 ( Ctrl+F:com.***.** ), 记录线程 ID. 找出连续几次堆栈打印都出现的线程 , 分析是否可疑 .

操作

  • iread190 /home/manager> jps
1
2
3
4
5

25826 Jps ( 此为 jps 命令的进程 )

9154 Bootstrap ( 此为 java 进程 )

  • iread190 /home/manager> jstack 9154
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

"RMI TCP Accept-0" daemon prio =10 tid =0x00002aaab089d000 nid =0x23d9 runnable [0x000000004163e000]

java.lang.Thread.State : RUNNABLE

at java.net.PlainSocketImpl.socketAccept (Native Method)

at java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)

- locked <0x00000006f9c00580> (a java.net.SocksSocketImpl )

at java.net.ServerSocket.implAccept (ServerSocket.java:462)

at java.net.ServerSocket.accept (ServerSocket.java:430)

at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34)

at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)

at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)

at java.lang.Thread.run (Thread.java:662)



"RMI TCP Accept-29011" daemon prio =10 tid =0x00002aaab0899000 nid =0x23d8 runnable [0x000000004153d000]

java.lang.Thread.State : RUNNABLE

at java.net.PlainSocketImpl.socketAccept (Native Method)

at java.net.PlainSocketImpl.accept (PlainSocketImpl.java:408)

- locked <0x00000006f9c008a0> (a java.net.SocksSocketImpl )

at java.net.ServerSocket.implAccept (ServerSocket.java:462)

at java.net.ServerSocket.accept (ServerSocket.java:430)

at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)

at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)

at java.lang.Thread.run (Thread.java:662)



……

将堆栈写入当前目录下文件(相隔几秒多次执行) :

  • 获取5s*4的时间内,都没有结束的业务线程,多见为问题线程,需要看看其中在执行什么
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

jstack 9154 >> jstack.log

<相隔5s>



jstack 9154 >> jstack.log

<相隔5s>

jstack 9154 >> jstack.log

<相隔5s>
jstack 9154 >> jstack.log

怎么分析

jstackAnalyse@liuxiang 自己编写的堆栈日志分析工具

samurai.jar 分析线程堆栈,故障当前可找出问题程序的具体代码行。


扩展阅读
java服务器资源(CPU,内存)使用率过高时,定位处理过程

Read more »

  • 改造github上12306抢票软件源码,可自动识别验证码,且成功为众多亲友买到票


  • 对微信上商家活动进行安全检查(web安全),获得手机话费,免费宽带等小礼品


  • 工作前,自主开发(.net语言)泡泡堂(炸弹人),俄罗斯方块等游戏


  • 脚本修改window系统网络路由,实现【有线,无线】多网卡-并集下载,实现速度叠加
    对网络目标ip取模,指定两个网卡各承载一半,即可实现多网卡同时工作,速度叠加
    (更高级的还有宽带账号多 拨, 再配合分发控制,可实现单网卡速度翻倍,倍数取决于多拨数)

  • 开发游戏外挂(按键精灵脚本),冒险岛,页游和几个已经不记得名字的.

    功能 : 自动加血,释放技能,寻找怪物,捡取物品,循环工作等


  • 多年双十一,编写自动化脚本抢天猫红包,由于厂家算法或概率控制,一般可获得几百元天猫红包

  • wifi破解,使用工具cdlinux,破解数量20个起.一旦被破,修改密码都没用,再通过pin码可以秒破找回(不容你不信)

  • 技术拆装笔记本,除尘除潮,修好过自己 因受潮导致花屏问题的 笔记本显示器


  • 最得意 为老婆结婚庆典制作 的 婚庆主题网站(全栈),前端html5响应式,后端java,服务器BAE引擎,域名购买.
    学习 前端几乎都零基础起步,3日完成(我的工作java服务器后端)
    收益 收获到很多亲友的祝福.感谢你们~ 和开心美丽的老婆!
    刘祥&鲁珊来的50周年婚宴邀约 http://liuxiang.github.io/iloveyuan




  • 我的战车,出门约我~ De Rosa R838 Ultegra 22速 White Black Red,S (45cm) 2015

  • 老婆这辆 奋斗! 奋斗! 奋斗! 2017 COLNAGO V1-R 碟刹空气动力公路车架组

Read more »
0%