自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 【java】【多线程】线程安全与线程非安全【1】

线程安全与线程非安全,怎样区分呢?其实,当线程访问同一资源时,如同一个对象的同一个变量,会存在多个线程对同一资源的竞争访问,也就存在线程非安全。所以说,非安全指的是:多个线程访问同一个资源,可能会访问到非想要的资源。如线程一改写了变量a,而线程二此时又来访问变量a,则线程二得到的是修改后的变量a,而不是修改前的变量a。这样,就存在了数据的非安全访问,称之为线程非安全。这也可以称为数据的

2017-05-03 23:47:42 532

原创 Spring之利用autowire属性进行自动装配

spring的自动属性装配,其实就是说,对于bean的属性,不用使用手工显示装配,可以让spring自己通过在xml文件中按照一定的规则查找相关的符合条件的bean,装配为bean的属性。这样说起来有点绕口,直接上代码。首先,写一个辅助类。package com.cmm;public class Phone { private String brand; pri

2017-05-03 22:16:43 1614

原创 Spring之构造器配置、c空间配置

配置bean时,可以使用无参构造器加set方法配置,当然,也可以使用构造器配置,也就是使用带参数的构造器装配bean。首先,定义两个类。package com.cmm;public class Phone { private String brand; private int price; public Phone(String brand, int price) {

2017-04-27 21:44:18 833

原创 String属性配置之p空间、util空间

使用xml进行Bean的属性配置时,使用p空间更方便。xml如下:使用P空间,可以很方便的配置。<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.spr

2017-04-27 21:18:32 421 1

原创 spring之属性注入

综述:属性注入,意思就是先通过类的无参构造函数构造一个对象,然后通过调用setter方法来设置对象的属性。所以,使用属性注入时,有两个前提。(一):类有无参构造器。(二):类的属性有setter方法。但是我们知道,类的属性有很多种类型,比如:基本类型(int、double)、string、集合(list、map)、其他对象的引用。接下来挨个看看这些类型在

2017-04-24 22:23:29 346 1

原创 eclipse常用技巧

1、显示类的继承关系。 ctrl + t

2017-04-24 21:27:07 255

原创 Spring基础之helloworld

1、新建Helloworld类:package com.cmm;public class HelloWorld { private String name; public void setName(String name) { this.name = name; } public void say(){ System.out.println("hello:"+this.na

2017-04-23 22:28:24 211

原创 Spring之如何导入包到已有工程中

第一步:加载jar包(可以在本地目录ctrl + c,然后在选中libs目录,ctrl + v,或者libs目录上右键paste)第二步:添加jar包到build path添加jar包到libs目录下面后,选中所有的jar包,右键,build path ------> add to build path

2017-04-23 22:10:50 6673

原创 Spring 之 eclipse 提示: Failed to read schema documen“schema/beans/spring-beans.xsd”

使用eclipse自动生成spring xml时,提示:Multiple annotations found at this line:- cvc-elt.1: Cannot find the declaration of element 'beans'.- schema_reference.4: Failed to read schema document 'http://www.s

2017-04-23 21:56:51 6880

原创 Spring 之 eclipse xml自动补齐提示功能 配置

OK之后,将之前打开的xml文件关闭后再次打开,就可以实现自动提示了。图中划线的部分,包括标签、属性、以及属性值,都可以使用 alt + /  快捷方式进行自动补全。

2017-04-23 21:52:10 7740 1

原创 python基础之其他

1、pass语句,是空语句,只是占位使用。for ch in "Python": if ch == 'h': pass print("pass") else: print(ch)结果如下:Pytpasson仅作占位之用,意思这跳过本行,继续下一行。2、del语句,del用来删除对象的引用。a = 5

2017-04-17 23:54:55 181

原创 python基础之循环语句

1、while循环。例如:从数据中挑出奇数与偶数。datas = [1,2,3,4,5,6]odd = []even = []while len(datas) > 0: data = datas.pop() if(data % 2 == 0): even.append(data) else: odd.append(data)

2017-04-16 22:19:16 307

原创 python基础之运算符

1、算术运算符。python中,有两个特殊的运算符。一个是求幂,一个是求除法的结果的整数部分。a = 10b = 20print(a/b) #算术除法print(a//b) #返回除法结果的正数部分print(a**b)print(3//2)结果如下:0.5010000000000000000000012、比较运算符,比较的是对象实际存储的值,

2017-04-16 22:03:14 486

原创 python之一五大基本类型(数字、字符串、列表、元组、字典)

第一题:找出所有的三位数,要求:个位、十位、百位数据不重复。for i in range(1,10): for j in range(0,10): for k in range(0,10): if( i != j) and ( j !=k ) and ( i!=k ): print(i*100 + j*10 + k

2017-04-16 21:22:42 439

原创 Spring AOP之通过注解编写AOP

下面展示通过注解编写aop。package com.bean.AOP2;public interface IEat { public void eat();}package com.bean.AOP2;public class Eat implements IEat { @Override public void eat(){ for(int i=0;i<1e4;i++);

2016-05-03 11:20:28 311

原创 Spring AOP之通过xml定义aop

定义aop的方法,有两种,可以通过xml来定义,也可以通过注解。首先,来看看通过xml如何定义aop。AOP中,最重要的为理解切面(aspect)、切点(pointcut)、通知(advice)三个概念。简单理解:切面,也是一个类对象,这个类的功能一般为:安全管理、账号登录等。也就是说,这些类的功能很关键,在整个程序的各个地方可能都用的到,但是,他们的功能独立,与程序的耦合度应该降低到最小

2016-05-03 10:53:30 336

原创 Spring之集合DI

如果一个类的成员变量为集合类型,而且这些集合需要外部提供,则需要进行DI处理,但是,集合的DI,只能通过setter注入,所以,意味着必须有默认构造函数或者存在构造函数DI。四大集合的代码如下:package com.bean.DI2;import java.util.List;public class ListDI { private List list; public List

2016-05-02 19:57:13 262

原创 Spring之DI简述

Spring的依赖注入原理,我的理解为:在xml配置文件中,“构造”对象。用引号的原因在于,在这里并不是真正的构造。只有当我们通过ApplicationContext来加载xxx.xml文件时,这些类的对象才会被真正构造。然而,如何构造呢?简单的来说,Spring通过调用类的构造函数进行构造。构造函数大体分两种:默认构造函数与带参数的构造函数。也就是说,Spring中通过依赖注入来构建对象的最

2016-05-02 11:39:36 829

原创 java继承中的this用法

先看代码Parent.javapackage this_test;public class Parent { public int i; public void print(){ System.out.println("parent"); } public void my_print(){ this.print(); //区别 System.out.println

2016-03-17 23:31:53 3610

原创 Java I/O之各个类的作用

public class Basic {/*** BufferedInputStream  将内存中的一个缓冲区作为InputStream来使用* BufferedOutputStream 将内存中的一个缓冲区作为OutputStream来使用*//*** FileInputStream  将文件作为InputStream,以字节的形式从文件中读出数据* FileO

2016-03-05 14:51:04 608

原创 Java多线程之停止一个线程

注:本文主要参考《Java多线程编程核心技术》高洪岩方法一:利用MyThread.interrupt()与breakpublic class MyThread extends Thread{@Overridepublic void run() {for(int i=0;iif(this.interrupted()){System.out.prin

2016-02-29 21:46:44 521 3

原创 Android UI之switch的thumb与track属性定制自己的switch

利用官方的switch控件的thumb与track属性,可以自定义自己的switch,实例如下:上面的switch是官方默认的形状,下面的是通过设定自定义的thumb与track来实现的效果。那如何来实现呢?1.thumb比较好实现,利用XML来定义一个drawable文件,命名为switch_thumbxml version="1.0" enc

2016-02-27 21:16:04 20554 5

原创 用指针正确的操纵动态数组与正确用delete释放内存的方法

#include#includeusing namespace std;void f(int *i_ptr,size_t n){ assert(n>0); for(int i=0;in;++i) *(i_ptr++)=i;}int main(){ size_t array_siz

2015-08-18 23:11:15 1437

原创 c++左值引用作为函数形参时的注意要点

#includeusing namespace std;void f(int i){    i += 5;}void ref_f(int &i){    i += 5;    cout }void ref_swap(int &a, int &b){    int temp = a;    a = b;    b = temp;

2015-08-16 08:19:22 796

原创 2015华为软件精英挑战赛德州扑克之后期策略

其实,后期策略有很多麻烦的问题。其中之一就是依据蒙特卡洛方法模拟出来的胜率,我们对其进行分段处理时,会有不连续的问题。后来我们采取数学建模的方法,化离散为连续,解觉了这个问题下面代码,仅供纪念与参考void flopraise00strategy(double weight){    if (callmoney == 0)        snprintf(reg_msg, si

2015-08-16 00:32:57 1318

原创 2015华为软件精英挑战赛德州扑克之蒙特卡洛法模拟胜率

由于比赛500ms的时间限制,想要知道自己的牌力胜率是多大,我们采取了蒙特卡洛法,模拟对手的手牌,计算自己的胜率,依据胜率作出决策经过几次改进,该模拟算法可以在500ms以内完成,从而可以保证不超时void sortCards(card mcard[], int num){    int temp = 0,temp2;    for (int i = 0; i     fo

2015-08-16 00:24:59 2306

原创 2015华为软件精英挑战赛之手牌策略

ps:这不是决赛的版本,部分参数和决赛不一样,但基本差不多(决赛的版本不见了)//>4人void HoldAISeatNumberMore5(int mHoldWeight){    int mrasiepeople = getRaisePeopleNumber();    if (myPosition == 1)    {        if (HoldWheel

2015-08-16 00:18:04 685

原创 2015华为软件精英挑战赛德州扑克之手牌处理

依据德州扑克规则,每人先发两张手牌,我们依据网上对手牌牌力的分析表格, 采取遍历的方法,计算出手牌的牌力int myTwoCardWeight(card mtwocard[]){    if (mtwocard[0].point == mtwocard[1].point)    {        switch (mtwocard[0].point)        {  

2015-08-16 00:11:17 1088

原创 Qt5之扩展对话框与在QLabel中显示中文的办法

//mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include#include#include#include#include#include#include#includeclass MainWindow : public QDialog{ Q_OBJECTpubl

2014-12-02 12:24:34 5201

原创 关于cin与cout

cin与cout的行为是由

2014-10-11 20:56:57 416

原创 函数指针做形参

#includeusing namespace std;void f(){cout}int main(){void print_(void (*p)());print_(f);}void print_(void (*p)()){(*p)();          //注意这里}

2014-10-09 23:05:06 323

原创 借用指针输出二维数组

#includeusing namespace std;int main(){int am[2][2]={{1,2},{5,6}};for(int i=0;i  for(int j=0;j  cout}

2014-10-09 22:54:19 414

原创 将n个整数前面的数据后移m位

#includeusing namespace std;int main(){void my_swap(int &a,int &b);int my_array[10];coutfor(int i=0;icin>>my_array[i];coutint temp;for(int i=0;i{my_swap(my_array[i],my_array[

2014-10-09 22:43:35 626

原创 一个函数作为另一个函数的实参

#includeusing namespace std;int main(){int max1(int i,int j);//函数声明cout}//函数实现int max1(int i,int j){return i>j?i:j;}结果为:9

2014-10-08 22:55:12 491

原创 多项式求值

求解1-1/2+1/3-1/4....-1/100的值,PS:开始用c

2014-10-08 22:41:55 374

空空如也

空空如也

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

TA关注的人

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