文章目录

  • 代码整洁之道
  • java .net区别
  • 运算符:
  • 常识
  • enum 枚举类型
  • KeyWord 关键字
  • 网络
    • GET
    • POST
  • 加密
    • Encryption_1
  • 装箱 & 拆箱
  • ORM 对象关系映射
  • IOC 控制反转
  • AOP 面向切面(Aspect Oriented Programming)

*******************************************************************************************************************************

代码整洁之道

  1. 每个函数、类、模块,都全神贯注于一事
  2. 名称的长短应与作用域大小相对应
  3. 每个函数、类、模块都有对应的测试
  4. 写好函数,然后不断的打磨它
  5. 不要重复
  6. 尽量减少依赖
  7. 函数越小越好,越少越好
  8. 尽量达到不写注释
  9. 不只你,别人也应该一看就清晰及明确
  10. 看着合意

*******************************************************************************************************************************

java .net区别

  • .net 中小型项目效率更高一些,但是百万级后不如java
  • .net 服务器只能IIS,java(tomcat,jboss,weblogic,websphere…)
  • java是跨平台的语言,.net是跨语言的平台

*******************************************************************************************************************************

运算符:

名称 属性
% 取余 5%2=1
^ 按位异或 00=0;01=1;10=1;11=0
~ 按位求反 0=1,1=0
<< 左移运算符 a=0000 0011(十进制3),左移4位后为0011 0000(十进制48,相当于3 * 2^4)
>> 右移运算符 右边的数指定移动的位数,高位补符号位
>>> 无符号右移运算符 高位补0
& 按位与 0&0=0;0&1=0;1&0=0;1&1=1
按位或

*******************************************************************************************************************************

| — | ---------------------------------- |
| ./ | 当前目录下 |
| …/ | 当前目录的上一级目录 |
| ~/ | 当前项目的根路径,只在服务器端有效 |

\ 反斜杠
\a 警告
\b 退格
\f 换页
\n 换行
\r 回车
\t 跳格
\v 垂直跳格
\ddd ddd 是 1、2 或 3 位八进制数字。这些转义序列作为由八进制数指定的具有数字值的字节显示。

*******************************************************************************************************************************

y=++x;//先执行x=x+1,再将x的值赋给y
y=x++;//先执行y=x,再执行x=x+1

try{
/* 可能会出错的东东 /
}catch(Exception e){
/
东东搞事情时 /
/
TMD 搞事情是不是!!! /
/
(try出错时执行) /
}finally{
/
不管东东搞不搞事情我都要hit Ta /
/
不管有木有出现异常,不管try和catch中是否有return,都会执行(return后执行) /
/
finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值 */
}

using (TextWriter w = File.CreateText(“test.txt”))
{ w.WriteLine(“Line one”); w.WriteLine(“Line two”); w.WriteLine(“Line three”); }

if(){}
where(){}
do{}where()
(bool?true:false)
foreach (string s in args) { Console.WriteLine(s); }

break; continue;

*******************************************************************************************************************************

常识

**.NET Framework 框架/类库** 能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)
using 引用 称为“关键字”,通过它来声明对命名空间的引用
namespace 命名空间 ,命名空间是从功能角度对类型的划分,是一组类型在逻辑上的集合。其作用是为了防止命名冲突。.NET就是利用命名空间来对程序进行分类,把功能相似的类、结构等程序放在同一个命名空间里,最常见也最常用的命名空间是System命名空间,它包含了很多常用的结构类型,例如Console。

*******************************************************************************************************************************

enum 枚举类型

enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri };
enum Days { Sat = 1, Sun, Mon, Tue, Wed, Thu, Fri };
int x = (int)Days.Sun;(强制类型转换)

KeyWord 关键字

const 只读 把变量变为常量
static 静态 全局唯一
fixed 终态 最终形态(最终值)
private 私有 类的私有
protected 受保护的 都说了受保护,我的人可以访问
public 公有 什么东西都可以访问的

*******************************************************************************************************************************

网络

在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式
get安全性非常低,post安全性较高。但是执行效率却比Post方法好

GET

  • 大小 传输的数据不能大于2KB
  • 安全 非常低
  • 执行效率

POST

  • 大小 传输的数据 一般被默认为不受限制,理论上,IIS4中最大量为80KB,IIS5中为 100KB
  • 安全 较高
  • 执行效率 一般

*******************************************************************************************************************************

加密

0.不可逆的加密

只可以对比,,只能用 例子法 破解

  1. MD5加密 + 字符串切换,大小写切换 (.Replace(“A”, “C”).ToLower())

解:

0.对付不可逆加密

比如 加密123 得 awrfaf435et4564 则知道 awrfaf435et4564 的一种解为 123

Encryption_1

例:12345679ABCDEFG…
(值类型 0~9 & A~Z)

第一步:换序(按固定的(或者根据key),可逆的规律 - 重新排序)

如:12345679ABCDEFG…
得:13579BDF…2468AC…

第二步:加值

如:13579BDF…2468AC…
++++++++…------…
13524613524613524… (135246无限循环key)
得:26A9DHEI…W33389…
(超出或者小于重新排:如2-6=W, Y+1=0)

第三步:转进制

*******************************************************************************************************************************

装箱 & 拆箱

Thread stack :: 堆栈
Managed Heap :: 托管堆

装箱是将值类型转换成引用类型,或者是实现了接口的值类型。装箱将数据存储的空间由Thread stack转存到了Managed Heap中。凡是在Managed Heap中开辟空间,都将触发GC(垃圾回收),在Thread statck将不会触发垃圾回收。

拆箱就是将数据从Managed Heap中提取出来,并拷贝到Thread stack中。所以拆箱会形成两份数据,一分在Managed Heap中,一份在Thread Statck中。

先来看一段装箱和拆箱的代码

    public static void BoxUnbox(){int i = 123;object o = i;//隐式装箱object p=(object)i;//显式装箱int j = (int)p;//拆箱}

*******************************************************************************************************************************

ORM 对象关系映射

把数据库语句变成一个对象,写入对象参数 例如搜索条件,显示字段,排序等等参数,执行“数据库语句”对象

IOC 控制反转

 xml 中定义对象 代码直接获取对象,有什么用? 自动控制对象的创建&销毁

AOP 面向切面(Aspect Oriented Programming)

通常称为面向切面编程。它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。       http://www.cnblogs.com/ysocean/p/7476379.html

*******************************************************************************************************************************

Basics(基础)相关推荐

  1. Linux Basics

    Linux Basics 基础介绍 从桌面切换命令状态 Ctrl+alt+f2/f3/f4 等 从命令切换桌面状态 Ctrl+alt+f1 虚拟机与本机切换 ctrl+alt Linux备份 备份整个 ...

  2. spark RDD官网RDD编程指南

    http://spark.apache.org/docs/latest/rdd-programming-guide.html#using-the-shell Overview(概述) 在较高的层次上, ...

  3. 接口自动化实现图片上传(selenium/RF)

    最近做自动化碰到一个问题: 就是带图片上传的不知道怎么实现自动化:整理了下实现如下: 上传图片postman 结果请求如下,上传图片后返回一个图片地址: post请求 body 是form-data ...

  4. vue可视化拖拽生成工具_vdesjs: 基于vue的可视化拖拽,代码生成工具。提升前端开发效率,或者集成至项目作为在线拖拽工具。(持续迭代升级中)...

    vdesjs 介绍 vdesjs是一款基于vue技术栈,可视化拖拽,代码生成工具.我们提供详细的文档来帮助您理解我们工具的实现原理,并且您可以方便的基于vdesjs来扩展您自己的代码生成组件. 技术选 ...

  5. 2000年考研英语阅读理解文章四

    文章详细解析网址 注意点 1.注意But,however等表示观点看法转折的词语 2.全篇都在提及moral decline 道德下降,最后一段写that may have more to do wi ...

  6. 软件技术实习_当您还在学校时,如何获得一流的技术实习机会和技术工作

    软件技术实习 by Michael Deng 邓小平 当您还在学校时,如何获得一流的技术实习机会和技术工作 (How to land a top-notch tech internship - and ...

  7. c语言 sprintf_s 参数 通配符,Rust教程(翻译).doc

    Rust教程(翻译) The Rust Language Tutorial 目录 1.Introduction(介绍) 2.Getting started(开始) 3.Syntax basics(基础 ...

  8. vue可视化拖拽生成工具_GitHub - 1260215278/dragUI: 基于vuedraggable.js + uni 的可视化拖拽编程,自动生成项目,自动生成代码,自行导入第三方组件...

    dragUI 用于UNI可拖拽可视化编程 在线演示 效果图 基于 快速开始 参考uni官网安装普通uni项目(运行uni-app)运行到浏览器 另需要手动下载包npm install 项目目录 col ...

  9. 问卷调查系统的设计与实现【源码:文档:教程】

    Goddess-Questionnaire女神问卷 各位大神若有项目问题可进群有小伙伴解答 女神问卷演示视频(问卷部分):https://v.youku.com/v_show/id_XNDI3Mjc5 ...

最新文章

  1. CodeGen字段循环Field Loop
  2. 【特征提取+分类模型】4种常见的NLP实践思路
  3. oracle 选择最频繁出现之前,5文章数据
  4. Linux文本处理命令:cut grep awk sed printf
  5. win 7 系统ie浏览器升级11版本后,f12功能不可用的问题
  6. 计算机专业网站的开题ppt,.计算机专业开题报告.ppt
  7. 苹果商店上架流程_苹果TF签名是什么?
  8. Gym 100818I Olympic Parade(位运算)
  9. 使用PoolingHttpClientConnectionManager解决httpclient的多线程请求问题
  10. 第一课:安卓开发工具Android Studio最新版本的安装
  11. 扫描答题卡答题区域划分
  12. 手摸手带你 App 爬虫入门
  13. 教你撩妹,每天给小姐姐发一封暖心邮件
  14. 销售数据的多维度交叉分析
  15. MBTI职业性格测试和大五人格测试对比分析
  16. 阿里云国际版回执消息简介与配置流程
  17. Linux源代码下载
  18. 随机过程与排队论(一)
  19. 并联串联混合的电压和电流_混合断路器会成为高压直流电网故障清除的新出路吗?...
  20. 微信扫描二维码跳转到小程序配置 获取二维码内容

热门文章

  1. python 英语翻译_Python编程经常用到的英语及翻译
  2. 简单的点对点聊天软件
  3. 将博客搬至CSDN_李孟_新浪博客
  4. unity www下载
  5. zookeeper shell_李孟_新浪博客
  6. 【以太网交换安全】--- 交换机流量控制/DHCP Snooping/IP Source Guard
  7. 树莓派 安装Flash 教程
  8. PotPlayer播放器播放MKV格式视频没有声音
  9. 16款免费开源的商业智能工具
  10. 计算机控制系统顾树生课后答案,清华大学出版社-图书详情-《自动控制原理习题详解》...