自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Joea的专栏

Luff for Freedom

  • 博客(24)
  • 问答 (1)
  • 收藏
  • 关注

原创 C#正则表达式

假设我们要判断一个字符串中是否只含有数字,我们怎么办?我们最想到的应该是下面的一段代码: string str = "what a nice day!"; bool flag = true; for (int i = 0; i < str.Length; i++) { if (str[i] >= 0

2015-12-23 19:27:28 573

原创 [OpenGL]OpenGL中的三维变换

显示生活中我们如何去绘制一个三维的图形,如一个立方体。我们通常会确定出它的大小,从不同的角度观察它,移动或者旋转它,确定好的视角等等。这些我们再OpenGL中也都可以实现。一个简单的实例开始OpenGL中的三维变换一般是通过矩阵变换来实现的。无论是移动,缩放,或者是旋转都是在一个矩阵的基础上乘上另一个矩阵来实现的。我们先来看一个例子。#include "stdafx.h"#include <gl/

2015-12-08 16:49:34 13575 1

转载 C语言基础IO操作

文件的打开fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头

2015-11-28 18:00:20 679

原创 [OpenGL]利用OpenGL绘制一些简单的图形

在几何学中有点,线,边,图形的概念,这些概念在计算机中也存在,但是可能会有所不同,比如数学中的直线是表示两端无限延伸的一条线,并且在数学中直线是没有宽度的,但是计算机中无法做到无限延伸,可以说计算机中的直线概念更像是数学中的线段概念,两个点的相连。同样点也是一样,数学中的点是表示一个坐标,并没有大小。计算机中无论图形设备多么精密也做不到显示一个无穷小的点,一般不设置点的大小的画,计算机会把点显示为1

2015-11-27 18:30:17 21800

原创 [OpenGL]第一个OpenGL程序

说起计算机图形编程,学过TC的都会想起来graphics.h吧,但是现在无论是PC游戏,还是移动端游戏中那些绚丽的换面仅仅凭借着TC那640*480的分辨率是做不到的。所以OpenGL作为当下主流的图形API之一,能在一些场景中具有比DirectX更优秀的特性。为什么要学OpenGL,按照惯例,我们先来吹一波: - 强大的可移植性:没错OpenGL除了适用于Windows,还适用于Linux/U

2015-11-25 18:57:09 730

原创 C#中的委托与事件

委托我们习惯把数据或者对象作为参数传递给方法,比如:int i = int.Parse("99");如果我们把方法作为参数传递给方法,这就需要用到委托了。我们从字面上理解委托,就像是A委托B去办一件事情一样,其实在C#中也有这一层的含义。首先我们先看C#中的语法:public delegate void DoSomethingEventHandler();delegate是关键字,EventHand

2015-11-24 18:53:14 452

原创 【Unity3d开发基础】Mathf中的数学运算

Unity中的Mathf类为我们封装了大量的静态方法和静态变量。这里就参照这官网的API来总结一下常用的方法和和变量。静态变量Deg2Rad:将度数制转换成弧度制Rad2Deg:将度数制转换成弧度制Epsilon :最小的浮点数,但是不为0。Epsilon遵守一下规则: anyValue + Epsilon = anyValuanyValue - Epsilon = anyValue

2015-09-30 21:27:56 11946

原创 揭开Socket面纱

Socket是什么?Socket是应用层与TCP/IP协议通信的中间软件抽象层,其实Socket就是一组接口。其实Socket就是把TCP/IP协议族隐藏在Socket接口后面,对程序员来说,可能你不懂这些复杂的TCP/IP协议族,那么实现接口就可以进行简单的Socket通信了,Socket会去组织数据,以符合指定的协议。一个生活中的场景:你需要和一个朋友进行通话,你就要拨号,通过运营商接通到你朋友

2015-08-31 00:15:19 467

原创 又遇递归函数

之前再写【算法】算法初步:聊一聊常见排序的算法的时候简单的总结了一下递归的用法。这里再详细的归纳一下递归这种编程技术。关于递归递归通俗一点的解释就是函数的自调用。举个例子来说,我们计算阶乘n! = 1*2*3*4*….*n-1*n,用函数fn(n)表示。通过一些数学处理可以归纳出通项公式fn(n) = fn(n-1)*n。所以,只有当n = 1的时候才需要特殊处理。 于是,用递归方法写的fn(n)

2015-08-12 01:09:52 526

原创 【Unity3d开发基础】场景中物体的变换

【Unity3d开发基础】场景中物体的变换标签(空格分隔): UnityTransform与坐标系在Unity中除了Unity4.6之后的UGUI的UIPanel之外,所有你在场景中添加的组件在Inspector中都会有一个Transform组件。这个组建中包含了场景中每个物体的位置(Position),旋转(Rotation)和比例(Scale)信息。这里笔者整理了Transform中常用的函数。

2015-08-09 23:03:59 1700

原创 【Unity开发实战】官方实例SURVIVAL SHOOTER开发心得

其实了解并学习Unity也有了差不多两个月了,之前知识了解一些基础知识,也看了一些官网的API,做了一些实例,但是并没有做过一个完整的游戏,最近在官网看到一个叫SURVIVAL SHOOTER的游戏,并且富有相关的资源和源码,还有英文教程。把项目下载下来看了一下,感觉是一个入门级的简单游戏,十分适合初学者。然后就观看了一下英文教程。博主英语较渣,只能听懂6成。但是看代码是没问题的。当时我也没有记录视

2015-06-29 12:51:32 1478

转载 【Java进阶】Java中的clone方法

Java中的克隆方法  Java的所有类都是从java.lang.Object类继承而来的,而Object类提供protected Object clone()方法对对象进行复制,子类当然也可以把这个方法置换掉,提供满足自己需要的复制方法。对象的复制有一个基本问题,就是对象通常都有对其他的对象的引用。当使用Object类的clone()方法来复制一个对象时,此对象对其他对象的引用也同时会被复制一份

2015-06-29 11:06:08 421

转载 【Java进阶】单例模式详解

单例模式(Singleton)单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完

2015-06-28 11:25:26 656

原创 【Android基础】Activity深入理解(二)——Activity栈和加载模式

之前的一篇文章中详细说明了Activity的生命周期,说明了Activity中的回调方法是如何被触发的。在用户使用App时,每一个 Activity 都处于某一个状态,对于开发者来说,是无法控制其应用程序处于某一个状态的,这些均由系统来完成。那么Activity的状态又按照哪种逻辑来运行的呢?这就要了解一下Activity栈。Activity栈每一个Activity的状态可以说都是由它所在的Acti

2015-05-03 20:01:01 2458

原创 【Android基础】Activity深入理解(一)——Activity生命周期

Activity是Android应用的重要且最常见的组件。一个应用中往往包含了多个Activity组件,不同的Activity分别会向用户呈现不同的操作界面。当用户进入,退出,回到你的App时,程序中的Activity实例都经历了声明周期中的不同状态。下面笔者就介绍一下Activity中重要一些回调方法。Activity生命周期重要的回调方法在Java和C++中,程序的入口是main()方法,但是在

2015-05-02 23:41:13 847

原创 【算法】算法初步:聊一聊常见排序的算法

在一个工程中一旦建立了某一个数据库后,就可能需要对数据库中数据进行不同方式的排序,比如对姓名进行字母排序,年龄进行大小排序等等。排序在编程中非常的重要,但又可能十分的复杂。这篇博文主要介绍一下几种简单而且常见的排序算法。如何排序让我们假设一个场景。体育课上,同学们排成一列。现在要按照身高从高到底排队(最矮的在最左边),应该怎么排队呢? 如果在现实生活中这是很简单的事情,我们可以一眼看到哪个最高,从

2015-04-27 15:03:03 697

原创 Java核心技术再理解——Java反射机制

在Java中反射是一种十分强大的机制,可以传递class,可以取得一个类的所有信息,动态的生成一个类。甚至可以取得一个类的父类。同样反射这一机制也是Java高级开发所必须掌握的。

2015-03-22 21:26:04 529

转载 Nginx配置文件nginx.conf中文详解

#定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error.log info;#进程文件pid /var/run/nginx.

2015-03-03 16:11:42 441

原创 Java核心技术再理解——深入浅出Java多线程

在程序设计语言中,线程对程序员可以说是一种又爱又恨的矛盾,一方面可以大大的简化模型,帮助程序员编写出功能强大的代码;另一方面又可能因为考虑不周全使得我们的程序出现各种大大小小的很难在开发环境中复现的BUG。在这里笔者根据《Java核心技术》一书以及一些博文来和大家分享一下对Java多线程的理解和体会进程与线程在学习之前我们有必要了解什么是进程和线程。进程所谓的进程就

2015-02-24 17:58:09 1277

原创 Java核心技术再理解——Java中类的加载原理分析

虽然每天都用Java,现在尝试做一些项目也是用的Java,但是总感觉对这门语言学习的不够深入,对Java的认识也只是停留在别人博客中所说的,没有自己独特的理解。所以最近又把《Java核心技术》又重新的读了一遍。感觉对Java的认识还是比较欠缺。感觉学会一门语言并不是说会用就可以了,真正的理解这门语言,编程能力才会有质的提升。下面我们就先从Java中最基本的类开始,探讨一下我们写的程序中的类是何时被初

2015-02-16 17:25:55 605

原创 关于JavaBean获取中文乱码问题

最近重新学习了一下JavaWeb的一些基础知识,今天在学习JavaBean时遇到了一个中文的乱码问题。当JavaBean获取表单中的数据有中文时就会出现乱码的现象。原因大概是因为MyEclipse对Java文件的默认编码是iso8859-1,而我们在jsp中的编码设置一般为utf-8,所以在获取中文时必然会出现乱码的现象。其实解决的方法很简单,只需要我们在Getter方法中用getBytes(

2015-01-28 21:25:24 3895 1

原创 CentOS下搭建Nginx+Tomcat

要在CentOS下搭建ngix+tomcat首先你要准备nginx7.9,tomcat7.0,当然还有JDK7.0。我们首先安装JDK:首先我们先检测系统中有没有OPENJDK,如果存在,建议卸载。$ java version如果存在则执行:$ sudo rpm -qa | grep jdk终端中会出现XXXX_openjdk_XXX等信息,我的是java-1.7.0

2015-01-27 22:51:17 455

原创 Nginx工作原理

由于在实验室做项目的需要,学习Nginx也有了将近一周的时间,但是由于临近考试,忙于复习,所以学习的也不是很深入。下面就参考着这个网站Nginx的工作原理进行一下总结和分享。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。有着占有内存小,并发能力强等优点。在国内新浪,腾讯等公司在使用Nginx。Ngin

2014-12-26 18:28:14 1458 1

原创 Hello Git

Git作为一个强大的分布式版本控制系统,现在已经风靡全球,作为以为码农来说,学会Git对学习和工作的效率都有不少的提升。最近在穆雪峰的官方网站学习了他的Git教程,发现讲的很是细致,下面就把最近学习的成果做一下分享,也巩固一下最近对Gir的学习

2014-12-24 19:55:46 564

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除