真人网上娱乐为什么java里只有基本数据类型才分字节,而字符串对象没有字节限制呢?难道这就是堆栈的区别?

( 真人网上娱乐 )

为什么java里只有基本数据类型才分字节,而字符串对象没有字节限制呢?难道这就是堆栈的区别?

字符串的本质还是char[]这个基本数据类型的,这个跟堆栈没有关系的吧。栈是非共享内存(保存方法参数及返回值,跳转点等),堆是共享内存(比如new一个对象大多情况下就是保存在堆里)。

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人亚洲娱乐开发语言选择问题

( 真人亚洲娱乐 )

我是学java的~ 感觉学的好可以。面向对象的思想掌握的不错。还学了些go语言。我个人比较喜欢前端,所以闲时做一些前端页面。特效玩玩。现在想自己写一个博客和rss订阅系统。其中rss订阅分为服务器端和Chrome扩展端。做完服务器端后打算部署到BAE上,用java是没问题的。但是感觉java做这些东西有点大材小用。毕竟java各种类库太繁琐了~~ 感觉java有点不适合开发博客和rss订阅(不是说不能。是感觉不合适)。所以想学学php,大家感觉怎么样,给点建议。有java基础学php到实现上述功能大概需要多长时间?BAE部署php怎么样?

博客不打算用wordpress,还是想自己开发,有很多自己的独特的功能。

我记得我在学Java的时候,一个师兄在学PHP,我在学PHP的时候,他在学Ruby,等我学Ruby的时候,才发现国外的程序员基本上是在用Ruby在做这方面的东西。可以说Java在这方面还可以是10年前的事,PHP还可以是5年前的事了,国内的几大网站,只有豆瓣是后端用Python的,其他的都是PHP,不过豆瓣已经很多年了,近几年的创业公司(比如Gitcafe),都用Ruby。中国的确很落后,Ruby程序员少得可怜。可以看出来趋势和潮流了,放弃Java和PHP吧,现在是Ruby, Node.js和Go。

没有带选语言的层次

选择自己上手快的,做出东西有人用才是王道

有兴趣可以研究下Python+django呢?

如果是学习,真的建议python,很多框架,很多大牛。如果只是为了用。php绝对快速。

Python 有编程基础的话很容易学的,先看官方文档的教程 https://docspy3zh.readthedocs.org/en/latest/tutorial/index.html 当然《深入Python》《简明Python 教程》 什么的也很好,都是网上免费的书。

另外可以加入Python 中国邮件列表,有什么不懂的发邮件问: https://groups.google.com/forum/#!forum/python-cn

框架新手推学Django,没有足够好的中文教程,建议看官方文档(英文)。

个人推荐Ruby和Nodejs,当然Python也不错,不过这个我没有用过。 使用Nodejs,可以体验JavaScript从前端到后端打通的快感!

  1. 继续使用 Java, 可以学习使用 Play! Framework 或 Grails (这个是用的 Groovy 语言)
  2. 使用新语言
    a) Python/Ruby/Node.js
    b) 如果对 Lisp 和函数式编程感兴趣, 推荐学习 Clojure, 写成的程序可以部署到支持 Java 的地方 (war)

如果做 rss订阅 还是python合适

python比ruby更合适做服务器端的工作

当然ror的web开发的确很快

Ruby或Python都是不错的选择。

php是最好的语言!

Python + Flask,你会知道开发一个博客是多么多么的简单!

国内还是使用PHP和JAVA为主,如果你不是单纯为了玩的话,应该学点PHP和JAVA。如果你偏向于前端,那PHP是不错的选择。现在新PHP框架在语法与使用上已经比以前好很多了,重要的是,PHP的产品很多,基本上是拿来就用,大多数情况下不需要自己开发,也是快速建站的利器。

python和nodejs也是我的兴趣,也建议你了解下,不过语言不要学太多,大概四五种就好,太多了其实很浪费精力,选定了就不要轻易去改变。

如果喜欢前端,那应该学学 Javascript

学了 Javascript,可以试试用 nodejs 作后端,语言相同。

在云平台上部署,尽量选用平台支持、占用资源较少的方案, 所以差不多是 Python 和 PHP 之一吧。

如果已经学了其他的后端编程语言, 特别是 Go(吐槽下很想学 Go…), 不建议碰 Node,

作为前端表示 Node 为广大精通 JS 且不熟悉后端的同学带来了巨大的方便, 甚至是其他后端语言无法大到的前后端默契配合, 而且异步编程和 Stream 处理是的确有用,

但 JS 的坑很多, 学了更先进的语言还花时间学一遍 JS 服务端编程就有点多余了.

如果是为了了解异步编程, 了解 CoffeeScript, 那看看也不错..

你如果是没有工作经验的学生党,
这个时候 考虑的不是语言优不优秀,而是考虑哪个语言生态好。
如果以后想从事WEB开发 建议你选择PHP,
如果以后想从事移动应用开发,就选择JAVA,
为了你以后找工作 可以有相关的作品,

如果是已经工作了,想做一个小玩意儿
那就选择最屌的,node.js go python都不错。
我个人看好node.js 因为这样前后端统一是javascript.
多么完美啊。

(看完/读完)这篇文章有何感想! 真人亚洲娱乐的分享…

真人亚洲娱乐java调试错误,菜鸟求助

( 真人亚洲娱乐 )

程序如下:
public class He{
public static void main(String[] args){
System.out.println(” Welcome you!”);
}
}
编码为UTF-8,程序运行错提示,java版本见图:

请指教啊,不胜感激

你存储Java源文件时采用UTF-8编码时存储了bom头,这个是用于探测文件编码的,而Java源文件采用UTF-8编码时要求无bom头,所以读取时按照无bom头格式读取utf-8编码解的源文件。所以你存储时选择无bom头可解决。

不要采用记事本的UTF-8形式保存。这样在编译java源文件因为解析出错为读不到完整的信息。

其实你的错误提示也很明显了,你换编码试试也该知道的。

当然也采用过Sublime 以UTF-8形式保存,却什么事也没有…我把打了老长一些话删掉..将原因归其notepad.exe也是神器,我没懂而已

(看完/读完)这篇文章有何感想! 真人亚洲娱乐的分享…

真人娱乐java关键字volatile的作用

( 真人娱乐 )

volatile 关键字都知道是不能做到线程同步的,只能保证线程之间尽快的获取最新的值,像 concurrentHashmap 之间 value 的修饰就用到了 volatile,我感觉这个关键在没啥用的感觉,,,求解释。

或者说 volatile变量修饰符适用于什么场景?

关于java volatile, 我有几点说明,

  • volatile保证 可见性. 即线程得到的 值是 最新的. Thread1 改变了 var的值, 那么Thread2再去读, 就是改变了的值, 而不是以前的. 再具体一点, 我的理解是这样(有误请指出), 现代计算机都是多核或多cpu, 一个变量可能在同一时间, 存在与不同的cpu的 寄存器里. 如果没有volatile做保证, 那么同一时间 统一变量会有不同的值. volatile保证每次都是从 主存中读取/写入 变量的值, 从而保证可见性.

  • volatile保证 编译器不会过度优化. 见过以下的例子, 大概的代码是这样:

    public class Thread1 extends Thread {
      private boolean flag = false;
      public void run() {
        while(!flag) {
          // ...
        }
      }
      public void close() {
        flag = true;
      }
    }

但是在外部进程调用close()后, Thread1并没有退出. 用了jdk debug版本 拿到了hotspot 的汇编码. 发现这里while(!flag) 被编译器优化为 while(true).

  • 对long或double来说, 读写不是 原子操作. 加了volatile, 对long或double的读写为 原子操作.

用于修饰 多线程共享变量。使用此关键字保证jvm不会从线程变量中读写,而是直接操作共享变量

我的理解是:如果有一个变量,有多个线程读,但只有一个线程写,那么此变量用 volatile 可以保证读到正确的值。volatile 的一个经典的应用是 Double-checked locking ,它是一种在多线程环境下正确且高效地实现单例模式的方法。

参考:

volatile是保证被修饰变量的可见性,而不保证原子操作,经典应用是Double-checked locking。比如在多线程环境下修饰一个boolean变量。

楼主可以看下 infoq 的这篇文章:volatile

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人娱乐我要用java解析一段字符串,该怎么做?

( 真人娱乐 )

字符串比如是这样

“{"info":{"funds":{"free":{"btc":"1.042309","cny":"510.021","ltc":"0.01468"},"freezed":{"btc":"0","cny":"7490.319","ltc":"0"}}},"result":true}
”

是不是要把这个字符串先变成json?我最终要解析出里面BTC多少LTC多少等

具体代码如何写,求指教。

无非就是json一个嵌套一个,只要按照json格式从简单到复杂一个一个搞清楚。

再利用第3方jar包解析呗。。
我经常用到的有gson,fastjson等。建议用fastjson,感觉效率什么的,都不错。

用google提供的gson包,或者阿里的fastjson也可以,自己根据要解析的东西,写个bean,然后用上述包解析就可以

看看这个 http://json.org/
java可用的类库有:

org.json.
org.json.me.
Jackson JSON Processor.
Json-lib.
JSON Tools.
Stringtree.
SOJO.
Jettison.
json-taglib.
XStream.
Flexjson.
JON tools.
Argo.
jsonij.
fastjson.
mjson.
jjson.
json-simple.
json-io.
JsonMarshaller.
google-gson.
Json-smart.
FOSS Nova JSON.
Corn CONVERTER.

原生代码也许可能大概是这样的;

String jsonString = '{"info":{"funds":{"free":{"btc":"1.042309","cny":"510.021","ltc":"0.01468"},"freezed":{"btc":"0","cny":"7490.319","ltc":"0"}}},"result":true}';  //当然咯不能使用单引号“'”

JSONObject json = new JSONObject(jsonString);
JSONObject info= json.getJSONObject("info");
JSONObject funds = info.getJSONObect("funds");
JSONObject free = funds.getJSONObject("free");
int btc = funds.getInt("btc");

嗯哼就是这样的蛮烦!!!

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人网上娱乐京东上的购物车问题

( 真人网上娱乐 )

京东上的购物车是放在SESSION里的,他那个SESSION存放在时间是比较长的,长达几个月,如果有10万人的购物车里有信息,那么京东服务器上的SESSION目录的SESSION信息文件岂不是很多??他们会不会根据用户ID来划分目录,避免某个目录下的文件过多呢??

PHP Session 存储方式为临时文件,这只是默认的。
事实上绝大多数初具规模的站点都修改了存储方式,原因就是你讲到的避免出现令人意外的系统开销。Session 文件过万之后,会对系统造成负担,首先表现就是 web server 负荷增高,硬盘 io 增大,直至停止响应。可以用数据库、内存表、缓存随便什么,资料许多你自己找吧。

电商网站(京东和淘宝是这样)的购物车,未登录状态关联的是你的 session(用客户端 cookie 识别你),登陆后立刻移至你的账号下,这里不是 $session[‘product’] = []; 这么简单,还做了挺多针对用户的处理。而且鉴于运营需要,别说是几个月,可能是过去几年你加入购物车的、你浏览过的都在他们的日志系统里,只不过不给你看,转化成数据帮它们做决策了。

开发app、除了静态文件,最好不要涉及到文件存储,慢,事多。

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人网上娱乐主函数数组索引越界异常怎么办

( 真人网上娱乐 )

package sequencedemo; import java.lang.Math; public class SequenceDemo {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    double a=Double.parseDouble(args[0]);
    double b=Double.parseDouble(args[1]);
    double c=Double.parseDouble(args[2]);
    double s=1.0/2*(a+b+c);
    double area=Math.sqrt(s*(s-a)*(s-b)*(s-c));
    System.out.println("三角形三边分别是:\n"+"a="+a+"\nb="+b+"\nc="+c);
    System.out.println("三角形面积为:"+area);


}

} problems:Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0 at sequencedemo.SequenceDemo.main(SequenceDemo.java:7)

不会Java都知道,程序不是这么写的。

args数组中存储的是程序运行的参数。参数最直观的理解,就是命令行调用程序时,程序名后边加的那些东西。例如/bin/cp file1 file2的参数就分别是file1file2。C等有些语言,也把调用命令的完整路径,即前例的/bin/cp传入认为是参数0。

你这样写程序并在IDE里执行,则此程序需要3个参数,而你给定了0个参数(因为如果没有特意修改命令行,则默认单纯执行没有参数)。则args数组长度为0,后果可想而知。

测试程序老老实实的给固定值,或像scanf那样键盘输入吧。

如果写真正的软件,一定要记住两条铁则:

  1. 用户的任何错误,都必须得到妥善处理,而不能让程序因为代码执行出错而崩溃。
  2. 在输入存在错误时,直接拒绝执行程序,而不要妄图纠正用户的错误。

即,进入程序前必须验证参数的个数是否正确,内容是否合法。如果参数缺少或多余的时候,向stderr输入错误并拒绝计算。但特例是如果参数为0的时候,则向stderr给出一般类似如下的程序用法提示:

Usage: sequencedemo [sidelength1] [sidelength2] [sidelength3]

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人亚洲娱乐java中如何打印出00:00:00的时间

( 真人亚洲娱乐 )

    Date date = new Date(0);
    SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss");
    format.setTimeZone(TimeZone.getTimeZone("GMT+0"));
    System.out.println(format.format(date));

打印出来的时间是

如何才能打印出00:00:00的时间呢?

new SimpleDateFormat("HH:mm:ss");

认真看文档好么。

(看完/读完)这篇文章有何感想! 真人亚洲娱乐的分享…

真人网上娱乐哪些在线的IDE能够提供对C语言/Java语言的调试功能?

( 真人网上娱乐 )

最近研究了一些在线IDE,发现这几个不错:
http://www.codeskulptor.org/
http://phpassist.com/
http://ideone.com/
http://pythonfiddle.com/

它们不仅提供了在线编辑代码的功能,还提供了在线执行的功能。但很可惜的是,它们没有提供传统IDE的完善的调试功能,即设置断点、单步跟踪、变量监视等常见功能。

请教两个问题:
(1) 哪些在线的IDE能够对C语言或者JAVA语言提供完善的调试功能?
(2) 如果存在支持调试功能的在线IDE,它们又是如何实现的呢?
请注意,本帖只讨论C语言或者JAVA语言的在线IDE,其它语言的IDE不在讨论范围内。多谢回答了。

(1)codebox.io 支持GDB调试,也支持Python!
(2)不会

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人娱乐java批量上传数据,开发环境和生产环境结果不同

( 真人娱乐 )

boss让我写一个批量上传这样的一个功能,然后将上传的数据进行话费充值

我在测试环境下是没问题的,但是上传到服务器充值记录就没了

然后我把正式环境下的数据库导出来了,放在我的数据库上运行是没问题的,

而且正式库中批量上传的数据40条下没问题,测试时多少条都没问题,

我在想是不是系统哪些配置的问题,求指教。。。

是不是正式环境的文件夹读写权限没有设置啊,要保证上传的数据所在目录是可写的,linux命令:chmod 777 上传的目录名 。

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人网上娱乐一个java入门编程小问题?

( 真人网上娱乐 )

public class Count3Quit {
public static void main(String[] args) {
    boolean [] arr;
    arr = new boolean [500];
    for (int i = 0;i < arr.length;i++) {
        arr[i] = true;
    }

    int index = 0;
    int now = 0;
    int left = arr.length;
    while(left > 1) {
      if(arr[index] = true) {
        now = now + 1;
        if(now == 3) {
            arr[index] = false;
            left = left - 1;
            now = 0;
        }
      }
      index = index + 1;
      if(index == arr.length) {
        index = 0;
      }
    }

    for(int i = 0;i < arr.length;i++) {
        if(arr[i] = true) {
            System.out.println(i);
        }

    }
}
}

大侠们,自学java,又碰到一个不知道咋错的了,麻烦各位大神了。。。。 这个结果就是打印出了0到499

题目就是500个人围成一圈,从某一个人开始数,数到第三个人让他离开这个圈,然后从下一个人继续数,同样是第三个人离开,这样一直下去,直到剩下一个人,问这个人在第几个位置(相对于开始数的起点)?

你犯了一个基本的错误 if(arr[index] = true) {

这里应该是==

没有试你的程序, 不知道还有没有别的问题

对应的问题,有对应的数据结构,这个题目出现在很多的招聘面试题目中,是一个经典的应用循环链表的示例。恰好有时间,写了一下代码。废话不多说,上代码,有问题,欢迎讨论:

public class thirdPersonOutGame {

public static void main(String[] args) {
    pointTheLastPerson(init(3), true);
}

static Person init(int totalPersonNum) {
    if(totalPersonNum <= 0) {
        throw new IllegalArgumentException("total person number can not be zero.");
    }

    Person head = new Person(1);
    Person prev = head;
    for(int i=2; i<=totalPersonNum; i++) {
        prev = prev.next(new Person(i));
    }
    prev.next(head);

    System.out.printf("total %d persons join the game\n", totalPersonNum);
    return head;
}

static void pointTheLastPerson(Person head, boolean whetherPrintQuitOrder) {
    Person prev = head;
    Person cur = head;
    int curIndex = 1;

    if(whetherPrintQuitOrder) { System.out.print("person out order: "); }
    while(cur.next != cur) {
        prev = cur;
        cur = cur.next;
        if(++curIndex == 3) {
            if(whetherPrintQuitOrder) {
                System.out.printf("%d ", cur.i);
            }
            cur = curPersonOut(cur, prev);
            curIndex = 1;
        }
    }
    if(whetherPrintQuitOrder) { System.out.println(); }

    System.out.printf("the last person: %d\n", cur.i);
}

static Person curPersonOut(Person cur, Person prev) {
    return prev.next = cur.next;
}

static class Person {
    int i;
    Person next;

    Person(int i) {
        this.i = i;
    }

    Person next(Person person) {
        return this.next = person;
    }
}
}

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人亚洲娱乐电商系统如何保证支付的原子性

( 真人亚洲娱乐 )

案例1,

客户下订单后,订单总额100RMB; 客户点击支付后,支付系统收到请求,从客户账户扣除100RMB,订单状态修改为已支付,通知商品出库系统等一系列工作后,最后返回正确状态给客户,这样基本完成支付工作。

在此,如何在突发情况下,保证支付完成或者支付失败。

这些突发情况应该包括:

  1. 客户请求不可到达
  2. 账户扣款后,没有通知出库
  3. 状态返回之前,系统宕机

案例2

客户点击支付后,又使用系统的购物卡(或者现金卡等),用虚拟币替代部分支付款;

这里增加了一点复杂度: 在虚拟币扣除后突然宕机(只是其中一个原因,实际情况下可能会有其他的奇葩事件),现金款没有被扣除,客户也没有获得返回状态,这个时候客户发现虚拟货币少了,但是订单还是未支付。

不好意思,我不是做电子商务的同学,提不出其他的深奥问题了。

对于案例出现的情况, 我先提出我的解决方案:

要想解决这些问题,我会要设计一套日志系统来记录每步的操作和涉及到的数据,这个系统单独运行在一个单独的硬件环境下面,宕机恢复瞬间(也就是系统提供服务之前)查询日志,日志返回最后失败的业务(注意是业务,不是具体的某个操作,因为支付是一系列的流程,不能用单独的某个操作去表示)用来恢复数据。

那么我的问题是,

1.如何设计系统来保证支付的原子性。

2.有开源系统可以来借鉴吗?

先谢谢大牛!

首先,你所提的问题并不是“支付的原子性”,我们通常所指的原子性基本与你的描述没什么关系。
你的问题实际上应定义为工作流(workflow)或BPM相关需求。这个我们目前在用Activiti来做,综合来看比较不错,文档也较为全面,可以尝试下。

http://activiti.org/

书的话推荐《Activiti in Action》,里面的例子都很实用。也有复杂的支付场景下的应用示例。

====
以下为吐槽:
首先题主明显属于想的太多,知道的太少,类似问题其实可以多做一些信息搜索工作再拿来问,会比较好一些。不过看你思考的解决方案确实难能可贵,因为你想出来的方案与实际的工作流解决方案在基本思路上是一致的。也说明题主还是挺有潜力的,至少认真思考过 🙂

(看完/读完)这篇文章有何感想! 真人亚洲娱乐的分享…

真人娱乐有什么好的方案可以取代apache+tomcat呢

( 真人娱乐 )

有什么好的方案可以取代apache+tomcat呢,求,我现在用apahce+tomcat架设的,总感觉不靠谱,不稳定,吃内存!

nginx + tomcat ?? 如果还不行的话..

你得考虑买商业的解决方案. 例如.IBM 的WebSphere ?

其实,个人感觉…你用的是java,,成千上万的人都在用apache + tomcat 也没什么问题,..不靠谱,不稳定.应该是你代码问题了…至于吃内存……java 很正常吧..随便一个hellworld 都能跑上几百M内存…

竟然,你都用了java..如果纠结内存问题的话…我建议你不要考虑用java 了..

。。。。。。。。。。

该答案已被忽略,原因:

(看完/读完)这篇文章有何感想! 真人娱乐的分享…

真人亚洲娱乐com.sun.mail.smtp.SMTPSendFailedException: 503 Error: need EHLO and AUTH first !

( 真人亚洲娱乐 )

import java.io.File;
import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Email {

public static void main(String[] args) {
      InternetAddress[] popAddressList = null;

      String smtpServer = "smtp.qq.com";
      String popServer = "pop.qq.com";
      String SmtpAddress = "2668208858@qq.com";
      String PopAddresslist = "545739504@qq.com";
      String Subject = "这是一封测试邮件";
      String Type = "text/html";
      String messageText = "邮件的内容:hello,world";
      String[] arrArchievList = new String[3];

      arrArchievList[0] = "c:\\1.JPG";
      arrArchievList[1] = "c:\\2.JPG";
      arrArchievList[2] = "c:\\3.jpg";

      boolean sessionDebug = false;
      try
      {
       java.util.Properties props = System.getProperties(); 

       props.put("mail.smtp.host",smtpServer);//存储发送邮件服务器的信息  
       props.put("mail.smtp.auth","false");//同时通过验证  
       props.put("mail.transport.protocol","smtp");

       Session   mailSession = Session.getInstance(props);//根据属性新建一个邮件会话  

       mailSession.setDebug(sessionDebug);

       Message msg = new MimeMessage(mailSession);

       // 设定发件人的地址
       msg.setFrom(new InternetAddress(SmtpAddress));

       // 设定收信人的地址
       popAddressList = InternetAddress.parse(PopAddresslist,false);
       msg.setRecipients(Message.RecipientType.TO, popAddressList);

       // 设定信中的主题
       msg.setSubject(Subject);

       // 设定送信的时间
       msg.setSentDate(new Date());

       // 是否以附件方式发送邮件
       boolean bolSendByArchieve  = false;

       // 如果有附件,先将由件内容部分存起来
       if (arrArchievList != null  && arrArchievList.length >0)
       {
        // 1.保存内容
        MimeMultipart mp = new MimeMultipart();   
        MimeBodyPart mailContentPart = new MimeBodyPart();
        mailContentPart.setContent(messageText,Type + ";charset=GBK");

        msg.setContent(messageText,Type + ";charset=GBK");
        // 这句很重要,千万不要忘了
        mp.setSubType("related");

        mp.addBodyPart(mailContentPart);


        // 2.保存多个附件
        for (int index = 0;index <  arrArchievList.length;index++)
        {
         File file = new File(arrArchievList[index]);
         MimeBodyPart mailArchieve = new MimeBodyPart();
         FileDataSource fds = new FileDataSource(arrArchievList[index]);
         mailArchieve.setDataHandler(new DataHandler(fds));
         mailArchieve.setFileName(MimeUtility.encodeText(fds.getName(),"GBK","B")); 
         mp.addBodyPart(mailArchieve); 
        }   

        // 3.最后集成内容和附件,一起发送
        msg.setContent(mp); 
       }
       else
         {
        msg.setContent(messageText,Type + ";charset=GBK");

         }


       //发送邮件  
       Transport transport;

       msg.saveChanges();//存储邮件信息  
       transport = mailSession.getTransport("smtp");  
      //以smtp方式登录邮箱   username填写你的发送邮件的用户名如bluewens,userpwd填写你的密码,如获88888888,即transport.connect("smtp.163.com","bluewens","88888888");

       transport.connect("smtp.qq.com","2668208858@qq.com");

       transport.sendMessage(msg,msg.getAllRecipients());//发送邮件,其中第二个参数是所有  

       //已设好的收件人地址  
       props.put("pop.qq.com", "false");

       transport.close();    

       System.out.println("邮件已发送成功!");  
      }
      catch(Exception ex)
      {
       ex.printStackTrace();
      }

     }

使用的 SMTP 服务器不对。smtp.qq.com 是给腾讯用户登录用的,不登录直接发信应该用 qq.com 的 MX 记录:

$ host -t MX qq.com
qq.com mail is handled by 20 mx2.qq.com.
qq.com mail is handled by 30 mx1.qq.com.
qq.com mail is handled by 10 mx3.qq.com.

即 mx1.qq.com。

另外,如果声明发件人为腾讯自己的帐号的话,很有可能被服务器拒绝(因为它知道你不是它)。即使声明发件人为其它域,也极有可能被作为垃圾邮件对待,特别是当你连 A 和 MX 记录都没有的时候。

还是使用 SMTP 授权登录之后再发送稳妥一些,也不用自己判断该连哪个服务器。

transport.connect(“smtp.qq.com”,”2668208858@qq.com”);是将这段代码改成:
transport.connect(“mx1.qq.com”,”2668208858@qq.com”);

(看完/读完)这篇文章有何感想! 真人亚洲娱乐的分享…

真人网上娱乐java网络编程入门程序问题?

( 真人网上娱乐 )

import java.io.*;
import java.net.*;

public class ChatServer {
        public static void main(String []args) {
                try {
                        ServerSocket ss = new ServerSocket(6888);
                        Socket so = ss.accept();
                        BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream()));
                        BufferedReader brs = new BufferedReader(new InputStreamReader(System.in));
                        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(so.getOutputStream()));
                        String s = br.readLine();
                        System.out.println("Client" + s);
                      String c = null;
                        while(s != "exit") {
                                System.out.println("Client : " + s);    
                                c = brs.readLine();
                                bw.write(c);
                                bw.flush();
                                System.out.println("Server : " + c);
                                s = br.readLine();    
                        }  
                        System.out.println("Chat Over");
                        br.close();
                        brs.close();
                        bw.close();
                }
                catch(Exception e) {}   
        }   
}

我的一个小程序,上面是server

import java.io.*;
import java.net.*;

public class ChatClient {
        public static void main(String []args) {
                try {
                        Socket so = new Socket("127.0.0.1",6888);
                        BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream()));
                        BufferedReader brw = new BufferedReader(new InputStreamReader(System.in));
                        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(so.getOutputStream()));
                        String c = brw.readLine();
                        bw.write(c);
                        System.out.println("client" + c);
                        while(c != "exit") {
                                bw.write(c);
                                bw.flush();
                                System.out.println("Client : " + c);
                                System.out.println("Server : " + br.readLine());    
                                c = brw.readLine();
                        }   
                        System.out.println("Chat Over");
                        br.close();
                        brw.close();
                        bw.close();
                }
                catch(Exception e) {}   
        }   
}

这是client,其实就是一个简单的,白痴的对话器,但是我怎么调试也不对,编译通过了,但是运行的时候一直卡在那里,感觉是io出问题了,大师们劳烦看看呗。非常感谢,实在是自己看不出来了。。。。。

不是一定要用Print,你原来那么写也是可以的,只不过你传输的数据中得有回车符(”\r\n”)
你原来写的bw.write(c)是没有换行符的,所以改成bw.write(c+”\r\n”),服务端readLine()就能读到,readLine是按行读取的,没有”\r\n”的话就识别不了,读不出来数据;所以客户端其实是发送出去数据了,只不过服务端没有读出来

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人网上娱乐Spring jdbc能否代替Mybatis?

( 真人网上娱乐 )

优势:

  1. Spring jdbc可以写出足够灵活的sql,不用担心查询效率。
  2. 使用极其方便,不需要引入第三方框架,不用配置xml。

劣势:

  1. sql硬编码

Mybatis支持将SQL写到注解中;
另外,多级缓存的实现、延迟加载、动态SQL、MyBatis Generator等等,如果是Spring JDBC的话要麻烦一些吧。

我感觉可以替代了,写了几个项目都只用了 Spring 感觉也没问题,不知道是不是因为资历太浅,潜在的问题还没发现

ORM框架的意义,绝对不止帮你执行SQL这么简单。
SQL的可维护性相对OOP语言来说差了不少,这点是公认的,而且非常不方便维护和重构。
而且ORM框架相对来说都会提供更简单的事务管理和加锁还有缓存。
不应该把ORM框架简单地看成把SQL和类进行绑定

从工作的角度来回答你这个问题,纯jdbc的使用给人的感觉就是一个字-累!大量的sql语句,大量的get/set方法,充斥在代码中,而合适的orm框架可以帮你从没有必要的体力活中解脱出来。当然,本该你做的活儿,你让代码自动地去帮你做一部分,多多少少都会损耗些性能的,但相比这些许的性能损耗,换来了繁琐流程的简化,明确的开发模式规范,是值得的。
mybatis属于一个半自动的orm框架,本质是sql映射,所以我把mybatis归类与一种偏JDBC的底层技术,与jdbc相比本无太大差异,却又为你做了很多事儿,实现了更多的功能。
本人用了较长时间的jdbc,真心累了,也正准备将mybatis引入到开发中,适当地提升团队开发效率。

在没有出现问题之前,任何框架都可以。
技术选型都是演化的,而且设计到团队合作,流量大小等太多因素,若是你觉得这个沟通的话,就用!

mybatis是比较方便的,把sql聚拢到xml文件中也利于后期针对sql的优化

将sql语句和代码分开,就是它最大的优势。
而用jdbc,先不说有没有ORM,还需要一系列的SQL拼装
维护起来实在很麻烦您

没有什么替代不替代的,存在即合理,看你的应用场景来选择合适的技术。如果项目比较小,或是非常重性能,那就jdbc, 但个人感觉一般情况下Mybatis是更好的选择,在项目的可维护性上,并且Mybatis对比jdbc性能并没有什么太多损失

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人亚洲娱乐七牛有获取某个空间下的所有文件名称列表的REST API吗?

( 真人亚洲娱乐 )

有个需求是需要获取空间中的所有文件列表或者名称,或者是随机获取其中的一个文件名,而这些文件名称又是没有任何规律可循的,请问有相关的REST API接口吗?

list接口可以通过列取空前缀的方式来列取文件列表,这个接口在七牛的服务端sdk中均有实现。

只能获取1000个,剩下的怎么获取呀!我填上marker就报错

(看完/读完)这篇文章有何感想! 真人亚洲娱乐的分享…

真人网上娱乐java字符串操作

( 真人网上娱乐 )

这段程序应该是输出true吧, 为何结果是false

如果是

System.out.println(“yyg”.substring(0, 0).equals(“”));
结果是true

如果是

System.out.println(“yyg”.substring(0, 0)==new String(“”));
结果是false

有没有观察到两者区别。
一个是字符串相等,一个是对象。第二个因为你new 构造了一个新的对象。虽然所指向的值相等。但是不同对象,不一样的

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…

真人网上娱乐上传到又拍云的图片怎么查看,在网页端

( 真人网上娱乐 )

上传到又拍云的图片怎么查看啊 ,求助

有个外链的地址的把?直接设置 src=”xxxx” 就行了

可以这样访问:http://your_bucket_name.b0.uppaiyun.com/file.txt . your_bucket_name替换一下就可以了。
官方文档说明: http://docs.upyun.com/guide/#_4

segmentfault用的也是upyun, 链接示例:http://sfault-avatar.b0.upaiyun.com/326/309/3263091867-54740b1650615_huge128
其中sfault-avatar就是 空间名

(看完/读完)这篇文章有何感想! 真人网上娱乐的分享…