java的ArrayList与print方法的问题

ArrayList arr = new ArrayList();
arr.add("aaa");
arr.add("bbb");
arr.add("ccc");
arr.add(10);
System.out.println(arr);
为什么结果是:[aaa, bbb, ccc, 10]
我猜测:因为print遇到ArrayList类型时会自动遍历该集合,并且调用集合的tostring方法进行打印。这里面前三个元素是String类型,调用toString()方法后打印出字符串的值,而对于int类型,调用toString方法打印出int的值。(但是都是object类型,object的toString方法不应该这样啊。)
所以到底是什么原因?

3个回答

arr重写了toString,它会输出每个元素的toString,以及逗号和方括号

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复青蛙如果: 不需要管,所有的对象都有toString
大约 3 年之前 回复
com_it
青鸟路过佳城 回复青蛙如果: 这是集合中toString()的代码 public String toString() { Iterator<E> it = iterator(); if (! it.hasNext()) return "[]"; StringBuilder sb = new StringBuilder(); sb.append('['); for (;;) { E e = it.next(); sb.append(e == this ? "(this Collection)" : e); if (! it.hasNext()) return sb.append(']').toString(); sb.append(',').append(' '); } }
大约 3 年之前 回复
u013115078
码厨frog 原来是这样啊,那么ArrayList里面的toString方法又是如何运作的呢?比如。怎么判断一个元素是String类型还是int类型,并将他们的值转换出来的?(小白求助,希望能详细解释一下,谢谢,谢谢!)
大约 3 年之前 回复

首先理解System.out.println(Object)就能很好的理解这种情况。
public void println(Object x)打印 Object,然后终止该行。
此方法首先调用 String.valueOf(x) 获取打印对象的字符串值,
然后的行为如同先调用 print(String) 再调用 println() 一样。
参数:
x - 要打印的 Object。

---------------分割-----------------

String.valueOf(Obiect x)
public static String valueOf(Object obj)返回 Object 参数的字符串表示形式。
参数:
obj - 一个 Object。
返回:
如果参数为 null,则字符串等于 "null";否则,返回 obj.toString() 的值。
另请参见:
Object.toString()

ArrayList 里重写toString方法,所以从此回溯便可以表层的理解每一步的原理。

arraylist 重写了object的tostring 所以打印除arr每一个元素的tostring

里面的元素的tostring 是每一个元素各自定义的tostring 这就是java的多态
如果你再加入一个你自己定义的Person类但是没有定义tostring 那么这个Person对象的tostring 就会调用其父类object的tostring

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java ArrayList 的size值在多线程中可见性问题

# ArrayList hello! 想问下大家一个可见性的问题,如果使用ArrayList,开启两个线程,一个线程往这个集合中添加数据,另一个线程中取这个集合的size值,为什么线程中取到的值一直取不到最新的值? ```java public void testVisibility3() { List<Object> list = new ArrayList<>(); System.out.println("current list size:" + list.size()); new Thread(() -> { System.out.println("thread 1 add ...."); for (int i = 0; i < 10; i++) { list.add("index" + i); System.out.println("thread 1 add success size:" + list.size()); try { Thread.sleep(1000L); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("thread 1 add success"); }).start(); new Thread(() -> { System.out.println("thread 2 start ======="); while (list.size() < 5) { // 这里不能使用System.out.println方法来进行测试,因为该方法是线程安全的,有同步标识,这样会导致list数据重新从主内存中加载一份 // System.out.print("thread 2 read size:" + this.list.size() + "\n"); } System.out.println(); System.out.println("thread 2 end ======="); }).start(); } ``` 如果用main方法启动调用上面的方法,第二个线程一直不能结束,取不到最新的size值; # 但如果定义一个对象,对象中有int值 ```java public class Person implements Serializable { /** 年齡 */ private int age; /** * 空构造函数 */ public Person() { // } public void incrAge() { this.age++; } /** * Getter method for property <tt>age</tt>. * * @return property value of age */ public int getAge() { return this.age; } /** * Setter method for property <tt>age</tt>. * * @param age * value to be assigned to property age */ public void setAge(int age) { this.age = age; } } ``` 但是,我如果使用上面的对象,我对象中有个int值,如果我开启两个线程,一个线程对这个对象的int值赋值,另一个线程从这个对象中取这个int值,int值没有加其它的修饰符,只有个private; 但是取值的这个线程值不然等很久,就能获取到另一个线程赋的值 ```java public void testVisibility4() { Person person = new Person(); new Thread(() -> { System.out.println("thread 1 start ======= age =" + person.getAge()); while (person.getAge() != 12) { } System.out.println("thred 1 age =======" + person.getAge()); System.out.println("thread 1 end ======="); }).start(); new Thread(() -> { System.out.println("thread 2 modify ...."); for (int i = 0; i < 12; i++) { person.incrAge(); } System.out.println("thread 2 modify success"); }).start(); } ``` 上面方法运行的结果,一般都会是: ```java thread 1 start ======= age =0 thread 2 modify .... thread 2 modify success thred 1 age =======12 thread 1 end ======= ``` 请问下,这个ArrayList在多线程中这个size和一个对象的int值在多线程中它们到底是如何处理的?可见性为什么会不一样了?

简单java ArrayList add 问题

请各位大神看看下面的代码, <br />我想把生成的120个数组放到list当中 <br />但是,后放入的替换了全面的所有数据 <br />不明所以,望说明,谢谢。 <br /><pre name="code" class="java"> package com.zhangxuan.platform.test; import java.util.ArrayList; import java.util.List; public class T { private static List&lt;int[]&gt; list = new ArrayList&lt;int[]&gt;(); public static void main(String[] args) { // 测试数据 int[] a = {0, 1, 2, 3, 4}; int[] b = new int[a.length]; sort(a, b, a.length, 0); for(int[] i : list) { for(int it : i) { System.out.print(it + " "); } System.out.println(); } } public static void sort(int[] a, int[] b, int n, int c) { if(c == n) { /* for(int i : b) { System.out.print(i + " "); } System.out.println(); */ // 把b放到list当中,但是这里就把list的所有数据替换成b了. // 所以list全部是4 3 2 1 0 了 list.add(b); return; } else { for(int i = 0; i &lt; n; i ++) { boolean f = false; for(int j = 0; j &lt; c; j ++) { if(a[i] == b[j]) { f = true; break; } } if(!f) { b[c] = a[i]; sort(a, b, n, c + 1); } } } } } </pre>

java 关于将ArrayList存入文件与读取的问题

问题描述:这段代码是我未完成的主文件,本人java初学者,实在无法解决,渴求帮助。 这段程序是为了记录Task这个class并保存在timetracker.data中。程序首先要读取文件中的内容,我根据ObjectInputStream函数,想将文件内的内容的全部作为一个ArrayList整体读取出来,然后再在用户输入1时使用add()直接将新的Task添加到ArrayList中,最后在用户输入5的时候将这个ArrayList作为一个整体保存进去。以此来实现Task这个class的存取。 目前来看我的问题出在TaskList = (ArrayList<Task>)ois.readObject();这一行。 编译时会警报 未经检查的类型使用,找到java.lang.Object 需要java.util.ArrayList<Task> 我的疑问是 到底能不能通过readObject将文件内的所有内容读出,还是只能读出一个然后我的程序强行将这个Object转化成了ArrayList形式。 如果能,希望可以教我一下我写法的缺陷。 很抱歉浪费大家时间,感激不尽 import java.io.*; import java.text.*; import java.util.*; import java.lang.*; public class TimeTracker { public static void main(String[] args) throws IOException { byte[] option = new byte[100]; ArrayList<Task> TaskList = new ArrayList<Task>(); for(;;){ //nihao //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ObjectInputStream ois = null; try{ ois = new ObjectInputStream(new FileInputStream("timetracker.data")); TaskList = (ArrayList<Task>)ois.readObject(); } catch (ClassNotFoundException e){ System.out.println("(None)"); } catch (EOFException e){ // catch EOF System.out.println("have reached the end of file"); } finally{ if( ois != null ) { ois.close(); } int n = TaskList.size(); System.out.println(n); } //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ManuPrint manu = new ManuPrint(); manu.Print(); int numRead = System.in.read(option); if((char) option[0] == '1'||(char) option[0] == '2'||(char) option[0] == '3'||(char) option[0] == '4'||(char) option[0] == '5'){ if((char) option[0] == '1'){ System.out.println("Enter new task (blank line ends input, no text ends the current task):"); Date date = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dt = new SimpleDateFormat("HH:mm"); //------------------------------record the last finished task //------------------------------record the last finished task // still not sloved multi lines BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; str=br.readLine(); // multi lines Task a = new Task((ft.format(date)),(dt.format(date)),"","",str); TaskList.add(a); } // option 1 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// if((char) option[0] == '5'){ FileOutputStream fout = new FileOutputStream("timetracker.data"); ObjectOutputStream out = new ObjectOutputStream(fout); try{ out.writeObject(TaskList); out.flush(); } catch(Exception e){ e.printStackTrace(); } finally{ try{ out.close(); } catch(Exception e){ e.printStackTrace(); } } System.out.print("******SEEEEEE UUUUU NEEEXT TIMEEE*********"); System.exit(0); } // option 5 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// } // if=1,2,3,4,5 else{ System.out.println("Invalid option!"); continue; } } //nihao } // main } //class

java,ArrayList,怎么在一个数组里存储多个值?

怎么在一个数组里存储多个值? 比如, string a = "xiaoming"; int age = 28; string aihao = "唱歌、跳舞。"; 把上面的值存到一个数组里 ArrayList arr = new ArrayList(); arr.add(0,咋存到这里) ArrayList arry = new ArrayList(); arry.add(0, "小明,28,1984,null"); out.print(arry.get(0).toString().split(",")[0]); 类似这种的,还有没有更好的官方用法?谢谢

Java代码ArrayList删除其中值的问题,请看下面的代码有问题么?

//删除集合中的偶数数据 List<Integer> arr = new ArrayList(); for(int i = 0; i < 20; i++){ arr.add(i); } for(int i = 0; i <arr.size() ; i++){ if(arr.get(i)%2==0){ arr.remove(i); } } for(int i = 0; i < arr.size(); i++){ System.out.print(arr.get(i)+" "); } 以上的代码是否有问题?是不是出了越界的异常?应该改成这样么? List<Integer> arr = new ArrayList(); for(int i = 0; i < 20; i++){ arr.add(i); } for(int i = 0; i <arr.size() ; i++){ if(arr.get(i)%2==0){ arr.remove(i); i--; //加上这一句是否就没问题了? } } for(int i = 0; i < arr.size(); i++){ System.out.print(arr.get(i)+" "); }

JAVA初学者练习题,求找错

``` package report5; import java.util.ArrayList; public class Student { int id; String name; ArrayList<Integer> quizResult =new ArrayList<Integer>(10) ; public Student() {} public Student( int id){ this.id=id; } public Student(int id, String name){ this.id=id; this.name=name; } public void setID(int id){ this.id=id; } public void setName(String name){ this.name=name; } void setAllResult(int a, int b, int c, int d, int e){ quizResult.add(a); quizResult.add(b); quizResult.add(c); quizResult.add(d); quizResult.add(e); } void setUpdate(int index, int value){ quizResult.set(index,value ); } int sum() { int sum=0; for(int i:quizResult) sum+=quizResult.get(i) ; return sum; } void print(){ System.out.printf("%d %s ",id,name); for(int i=0; i<quizResult.size() ;i++) System.out.printf("%d ",quizResult.get(i) ) ; System.out.printf("(Total %d,Average %d",sum(),sum()/5); } } ``` 测试class ``` package report5; public class test { static void method1() { Student aaa=new Student(); Student bbb=new Student(234567); Student ccc=new Student(345678,"hongg"); aaa.setID(123456); aaa.setName("chengwuql"); aaa.setAllResult(7, 9, 7, 9, 6); bbb.setName("kang"); bbb.setAllResult(7, 5, 1, 8, 8); ccc.setAllResult(8, 9, 8, 4, 8); aaa.print(); bbb.print(); ccc.print(); } public static void main(String[] args) { method1(); } } ``` 题目是 使用 给定的部分代码 然后完成。。。 求 aaa bbb ccc 三人五次的成绩 和平均成绩 考察 重载的构造函数 输出结果 ``` 123456 chengwuql 7 9 7 Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 7 out-of-bounds for length 5 at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown Source) at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source) at java.base/java.util.Objects.checkIndex(Unknown Source) at java.base/java.util.ArrayList.get(Unknown Source) at report5.Student.sum(Student.java:47) at report5.Student.print(Student.java:54) at report5.test.method1(test.java:17) at report5.test.main(test.java:24) ``` 本人不太会用arraylist ,应该是这里出问题了,谢谢

arraylist的增添覆盖问题 new Student()已放到循环内 还是覆盖前边的输入怎么解决

import java.util.Scanner; import java.util.ArrayList; public class Student{ static String sNo,sSex,sName; static int sAge,sJava; //构造方法初始化成员变量 Student(String sNo,String sSex,String sName,int sAge,int sJava){ this.sNo=sNo; this.sSex=sSex; this.sName=sName; this.sAge=sAge; this.sJava=sJava; } //创建get方法 static String getNo(){ return sNo; } static String getName(){ return sName; } static String getSex(){ return sSex; } static int getAge(){ return sAge; } static int getJava(){ return sJava; } //构造一个输出方法 public String toPrint(){ return "学号:"+sNo+" "+"名字:"+sName+" "+"性别:"+sSex+" "+"年龄:"+sAge+" "+"java成绩:"+sJava; } public static void main(String[] args){ ArrayList<Student> list=new ArrayList<Student>();//构造arraylist方法 Scanner input=new Scanner(System.in); for(int i=0;i<2;i++){//循环输入学生信息 System.out.println("请输入学号:"); String no=input.next(); System.out.println("请输入名字:"); String name=input.next(); System.out.println("请输入性别:"); String sex=input.next(); System.out.println("请输入年龄:"); int age=input.nextInt(); System.out.println("请输入java成绩(整数):"); int java=input.nextInt(); Student a=new Student(no,sex,name,age,java);//将信息录入Student构造方法 list.add(a);//增添信息 } int resultsMax=0,resultsMin=list.get(0).getJava();//声明两个变量得到最大、最小成绩 int max=0,min=0;//声明两个变量,存最大小值所在的数组索引 for(int j=0;j<list.size();j++){//使用arraylist size方法判断动态数组长度 System.out.println(list.get(j).toPrint()); if(list.get(j).getJava()>resultsMax){//判断java最大数据 resultsMax=list.get(j).getJava(); max=j; } if(list.get(j).getJava()<resultsMin){//判断java最小数据 resultsMin=list.get(j).getJava(); min=j; } } System.out.println("java成绩最高的学生信息:"+list.get(max).toPrint()); System.out.println("java成绩最低的学生信息:"+list.get(min).toPrint()); } }

java.util.ArrayList cannot be cast to byte[]

类型不能强制转换,但是我这个并没看出来哪里需要转换,请大家帮忙看一看哪里出问题了。 我在一个activity将bitmap转为byte[]类型,装入List里面,通过gson把这个list变为json类型,再传到另一个activity,解析json数据再转为List。 代码比较长,我就不全列出了。就用log来提供内容吧。 private List<byte[]> mBitmaps = new ArrayList<>(); ...... Log.i(TAG, "getView: "+mBitmaps.get(i)); Log.i(TAG, "getView: "+mBitmaps); Log.i(TAG, "getView: "+mBitmaps.getClass()); if (mBitmaps != null) { Glide.with(mContext).load(mBitmaps.get(i)).into(viewHolder.imageView); } 打印的内容就是 getview:[... , ...] getview:[[... , ...] getView: class java.util.ArrayList 报错就是在Glide那一行, ...就省略了就是-128到128一堆数字。 还需要什么信息就说一下。

为什么ArrayList用set之后,运行出来是这样的?(麻烦大神帮忙解释一下,刚接触编程不太懂)

import java.util.ArrayList; public class AP01 { public static void main(String[] args) { ArrayList<String> students = new ArrayList<String>(); students.add("Alex"); students.add("Bob"); students.add("Carl"); for(int k = 0; k< students.size(); k++) { System.out.print(students.set(k, "Alex") + " "); } System.out.println(); for(String str : students) { System.out.print(str + " "); } } } Console Alex Bob Carl Alex Alex Alex

重写 compareTo后,ArrayList.sort可以升序排列,为什么一般不改成降序呢 ?

package interfaces; import java.util.*; //实例数组排序:员工数组排序 /** * This program demonstrates the use of the Comparable interface. * @version 1.30 2004-02-27 * @author Cay Horstmann */ public class EmployeeSortTest { public static void main(String[] args) { Employee[] staff = new Employee[3]; staff[0] = new Employee("Harry Hacker", 35000); staff[1] = new Employee("Carl Cracker", 75000); staff[2] = new Employee("Tony Tester", 38000); Arrays.sort(staff);//结合重写后的compareTo方法,将类按照工资高低升序排列 // print out information about all Employee objects for (Employee e : staff) System.out.println("name=" + e.getName() + ",salary=" + e.getSalary()); } } class Employee implements Comparable<Employee> { private String name; private double salary; public Employee(String n, double s) { name = n; salary = s; } public String getName() { return name; } public double getSalary() { return salary; } public void raiseSalary(double byPercent) { double raise = salary * byPercent / 100; salary += raise; } /** * Compares employees by salary * @param other another Employee object * @return a negative value if this employee has a lower salary than * otherObject, 0 if the salaries are the same, a positive value otherwise */ public int compareTo(Employee other) { if (salary < other.salary) return -1;//if (salary < other.salary) return -1; if (salary > other.salary) return 1;//if (salary > other.salary) return 1; return 0; //若上面两句改写成这样,那输出结果就会降序排列,也不会报错,为什么不这样写呢? } } 问题在注释中写了

关于JAVA泛型方法的小问题

import java.util.ArrayList; public class GenericStack<E> { ArrayList<E> list = new ArrayList<>(); public int getSize(){ return list.size(); } public E peek(){ return list.get(list.size() - 1); } public void push(E e){ list.add(e); } public E pop(){ E e = list.get(list.size() - 1); list.remove(getSize() - 1); return e; } public boolean isEmpty(){ return list.isEmpty(); } } 为什么像push方法不是一个泛型方法而void前面不要加上<E>呢?到底什么才 是泛型方法啊?

java反射,自动调用方法,方法的返回值类型是不一定的,怎么得到方法的返回值类型的原来的类型!

java反射动态获取方法的返回值类型? ![图片说明](https://img-ask.csdn.net/upload/201811/08/1541668477_850877.png) ![图片说明](https://img-ask.csdn.net/upload/201811/08/1541668489_297052.png) 代码如下: ``` package javase; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; public class Person { static List<String> list; public void eat() { System.out.println("我是eat()函数"); } public String sayHello(String name) { return "hello,我是" + name + "!"; } public String jump(String name, int age) { return "hello,我是" + name + ",我今年" + age + "岁了!"; } public List<String> returnList() { // List<String> list = new ArrayList<String>(); list = new ArrayList<String>(); list.add("令狐冲"); list.add("韦小宝"); list.add("张无忌"); list.add("杨过"); list.add("乔峰"); return list; } public static void main(String[] args) throws Exception { Class cla = Class.forName("javase.Person"); Constructor constructor = cla.getConstructor(); Object obj = constructor.newInstance(); Method[] declaredMethods = cla.getDeclaredMethods(); for (Method method : declaredMethods) { System.out.println(method.getName() + " / " + method); Class[] parameterTypes = method.getParameterTypes(); if (parameterTypes.length > 0) { System.out.print(method.getName() + "方法的参数类型:"); } else { System.out.print(method.getName() + "方法没有参数"); } for (Class parameterType : parameterTypes) { System.out.print(parameterType.getName() + "\t"); } System.out.println("\n--------------------------------------------------"); } System.out.println("******************************"); // 使用反射,动态调用对象的函数 Method method = cla.getMethod("eat"); Object returnValue = method.invoke(obj); System.out.println(returnValue); // 动态调用对象的函数 Method method2 = cla.getMethod("sayHello", String.class); Object returnValue2 = method2.invoke(obj, "令狐冲"); System.out.println(returnValue2); // 动态调用对象的函数 Method method3 = cla.getMethod("jump", String.class, int.class); Object returnValue3 = method3.invoke(obj, "令狐冲", 16); System.out.println(returnValue3); // 动态调用对象的函数 Method method4 = cla.getMethod("returnList"); Type returnType = method4.getGenericReturnType(); System.out.println(method4.getName() + "方法的返回值类型=" + returnType); /* * returnList方法返回值类型是List<String>,所以returnValue4变量原本的类型是List<String> * 还有一个问题值得我们思考,每个方法的返回值类型都可能不一样,我们在利用反射调用完invoke()方法后,得到的返回值类 * 型都是Object,怎么转换回每个方法它自己的原本的返回值类型呢? */ Object returnValue4 = method4.invoke(obj); System.out.println("方法的返回值类型:" + method4.getReturnType().cast(method4.invoke(obj))); System.out.println(returnValue4 + " / " + returnValue4.getClass()); for (String str : list) { System.out.println("利用反射自动调用完returnList方法后集合元素" + str); } List<String> returnValue5 = (List<String>) method4.invoke(obj); for (String string : returnValue5) { System.out.println(string); } } } ``` 一言以蔽之,我就是想做到如下的代码这样: ``` Method method4 = cla.getMethod("returnList"); //我想下面的Object变成动态数据类型(即returnList方法的返回值类型) Object returnValue4 = method4.invoke(obj); //有没有可能变成下面这样 method4.getReturnType() returnValue4 = (method4.getReturnType())method4.invoke(obj); //到时候就可以拿到每个方法的具体的返回值,方法返回Map,我就可以拿到Map,方法返回int,我就拿到int,方法返回String,我就拿到String,方法返回List<Student>,我就可以拿到List<Student> ``` 运行结果截图: ![图片说明](https://img-ask.csdn.net/upload/201811/08/1541668669_521947.png) ![图片说明](https://img-ask.csdn.net/upload/201811/08/1541668680_381683.png)

array数组的问题,求大佬指点

public class Main { public static double average(double[] array) { double temp = 0; double sum = 0; for (int i = 0; i < array.length; i++) { sum = sum + array[i]; } temp = sum / array.length; return temp; } public static void main(String[] args) { File file = new File("C:/Users/15002/Desktop/文件/gongzuo.xlsx"); ArrayList<ArrayList<Object>> result = ExcelUtil.readExcel(file); ArrayList<Double> result2 = null; double rand[] = new double[50]; double av; java.util.Random r = new java.util.Random(); for (int j = 0; j < 10000; j++) { for (int i = 0; i < 50; i++) { try { rand[i] = Double.valueOf(result.get(r.nextInt(62080)).get(0).toString()).doubleValue(); } catch (NumberFormatException e) { e.printStackTrace(); } System.out.println(rand[i]); av = average(rand); System.out.print("平均值为:" + av); result2.add(av); } } } } 运行结果: 12.0 Exception in thread "main" 平均值为:0.24java.lang.NullPointerException at Main.main(Main.java:35)

Runnable 中抛出java.lang.ArrayIndexOutOfBoundsException: -1

[已解决] SimpleDateFormat.format并发调用会有问题private SimpleDateFormat.StringBuffer format(Date date, StringBuffer toAppendTo, FieldDelegate delegate) 里面用了calendar.setTime(date);这玩意是全局的,后面还会调用它,所以并发时候会出问题。 Random中protected Random.next(int bits);采用AtomicLong的CAS操作并发时候不会出问题。 ------------------------------------------------------------------------------ 每个Task有自己的ArrayList实例,在多线程情况下每个ArrayList实例应该不存在并发写入啊,为没什么还报ArrayIndexOutOfBoundsException: -1 求助大神,网上找了好久没结果。 ``` import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Random; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import static java.lang.System.out; public class TestArrayList { public static void main(String[] args){ TestArrayList t= new TestArrayList(); t.testInsertRows(); } private static int millisecondOf1Day= 1000*3600*24; private static int millisecondOf5Min= 1000*60*5; private static final SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private final ExecutorService pool= Executors.newFixedThreadPool(8); public void testInsertRows(){ Random random= new Random(); int taskId= 0; for(int i=0; i< 8; i++){ taskId++; pool.submit(new Task(taskId, 10000, null)); } out.println("all submited!"); } static class Task implements Runnable{ private Integer id; private List<Bean> list; private int rowCount; private int count=0; private Random random; public Task(Integer id, Integer rowCount, Random random){ this.id= id; this.list= new ArrayList<>(rowCount+1); this.rowCount= rowCount; // this.random= random; this.random= new Random(); } @Override public void run() { out.println("task:"+id+" is running! "+Thread.currentThread()); try{ for(int j=0; j< rowCount; j++ ){ Long randomTime= random.nextLong(); Date validityDate= new Date(randomTime- millisecondOf1Day), startDate= new Date(randomTime), endDate= new Date(randomTime+ 2*millisecondOf1Day); Bean bean = new Bean(); bean.setField0("K0000033"); bean.setField1("0001"); bean.setField2(sdf.format(validityDate)); bean.setField3(new Double(0.0).toString()); bean.setField4(sdf.format(startDate)); bean.setField5(sdf.format(endDate)); list.add(bean); } out.println("list is prepared in thread:"+id); Thread.sleep(millisecondOf5Min);// out.println(count+" rows has been inserted in thread:"+id); }catch (Exception e) { synchronized (out) { out.println("task:"+id+" in error"+Thread.currentThread()); e.printStackTrace(); out.println("task:"+id+" error info print completed"); } } } } } class Bean{ private String field0; private String field1; private String field2; private String field3; private String field4; private String field5; private String field6; /** * @return the field0 */ public String getField0() { return field0; } /** * @param field0 the field0 to set */ public void setField0(String field0) { this.field0 = field0; } /** * @return the field1 */ public String getField1() { return field1; } /** * @param field1 the field1 to set */ public void setField1(String field1) { this.field1 = field1; } /** * @return the field2 */ public String getField2() { return field2; } /** * @param field2 the field2 to set */ public void setField2(String field2) { this.field2 = field2; } /** * @return the field3 */ public String getField3() { return field3; } /** * @param field3 the field3 to set */ public void setField3(String field3) { this.field3 = field3; } /** * @return the field4 */ public String getField4() { return field4; } /** * @param field4 the field4 to set */ public void setField4(String field4) { this.field4 = field4; } /** * @return the field5 */ public String getField5() { return field5; } /** * @param field5 the field5 to set */ public void setField5(String field5) { this.field5 = field5; } /** * @return the field6 */ public String getField6() { return field6; } /** * @param field6 the field6 to set */ public void setField6(String field6) { this.field6 = field6; } /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return "Bean [field0=" + field0 + ", field1=" + field1 + ", field2=" + field2 + ", field3=" + field3 + ", field4=" + field4 + ", field5=" + field5 + ", field6=" + field6 + "]"; } } ``` task:1 is running! Thread[pool-1-thread-1,5,main] task:4 is running! Thread[pool-1-thread-4,5,main] task:3 is running! Thread[pool-1-thread-3,5,main] task:2 is running! Thread[pool-1-thread-2,5,main] task:5 is running! Thread[pool-1-thread-5,5,main] task:6 is running! Thread[pool-1-thread-6,5,main] all submited! task:7 is running! Thread[pool-1-thread-7,5,main] task:8 is running! Thread[pool-1-thread-8,5,main] task:7 in errorThread[pool-1-thread-7,5,main] java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.Calendar.getDisplayName(Unknown Source) at java.text.SimpleDateFormat.subFormat(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.DateFormat.format(Unknown Source) at com.haimian.test.concurrent.TestArrayList$Task.run(TestArrayList.java:64) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) task:7 error info print completed task:8 in errorThread[pool-1-thread-8,5,main] java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.Calendar.getDisplayName(Unknown Source) at java.text.SimpleDateFormat.subFormat(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.DateFormat.format(Unknown Source) at com.haimian.test.concurrent.TestArrayList$Task.run(TestArrayList.java:65) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) task:8 error info print completed task:4 in errorThread[pool-1-thread-4,5,main] java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.Calendar.getDisplayName(Unknown Source) at java.text.SimpleDateFormat.subFormat(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.DateFormat.format(Unknown Source) at com.haimian.test.concurrent.TestArrayList$Task.run(TestArrayList.java:62) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) task:4 error info print completed task:1 in errorThread[pool-1-thread-1,5,main] java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.Calendar.getDisplayName(Unknown Source) at java.text.SimpleDateFormat.subFormat(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.DateFormat.format(Unknown Source) at com.haimian.test.concurrent.TestArrayList$Task.run(TestArrayList.java:64) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) task:1 error info print completed task:5 in errorThread[pool-1-thread-5,5,main] java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.Calendar.getDisplayName(Unknown Source) at java.text.SimpleDateFormat.subFormat(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.DateFormat.format(Unknown Source) at com.haimian.test.concurrent.TestArrayList$Task.run(TestArrayList.java:65) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) task:5 error info print completed task:3 in errorThread[pool-1-thread-3,5,main] java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.Calendar.getDisplayName(Unknown Source) at java.text.SimpleDateFormat.subFormat(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.DateFormat.format(Unknown Source) at com.haimian.test.concurrent.TestArrayList$Task.run(TestArrayList.java:64) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) task:3 error info print completed task:6 in errorThread[pool-1-thread-6,5,main] java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.Calendar.getDisplayName(Unknown Source) at java.text.SimpleDateFormat.subFormat(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.SimpleDateFormat.format(Unknown Source) at java.text.DateFormat.format(Unknown Source) at com.haimian.test.concurrent.TestArrayList$Task.run(TestArrayList.java:64) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) task:6 error info print completed list is prepared in thread:2

java输入输出流问题readline

public class server { public static void main(String[] args) throws IOException{ int portNumber = 12009; ServerSocket serverSocket = null; try{ serverSocket = new ServerSocket(portNumber); Socket clientSocket = serverSocket.accept(); System.out.println("client comes in," + clientSocket.getInetAddress()); BufferedReader in = new BufferedReader (new InputStreamReader( clientSocket.getInputStream())); String inputLine =null; inputLine = in.readLine();//代码被卡在这个地方,执行不了。 System.out.println("client comes in," + clientSocket.getInetAddress()); System.out.println(inputLine == null ? 1 : 0); while((inputLine = in.readLine()) != null){ System.out.println(inputLine); if(inputLine.equals("1")) { new ServerTest2(); } System.out.println("recv from client:" + inputLine); } }catch(Exception e){ e.printStackTrace(); }finally{ if(serverSocket!=null) serverSocket.close(); } } } 这是一个server程序,想读出来发过来的1,但是读不出来,上面那句println读不出来

ArrayList集合中的问题

package com.StuInfo; import java.util.*; public class Test { static ArrayList<Students> list=new ArrayList<Students>(); static Scanner input=new Scanner(System.in); public static void main(String[] args) { manageLogin(); } // 系统菜单 public static void manageLogin() { System.out.println("学员信息管理信统"); System.out.println("============"); System.out.println("1.录入学员信息"); System.out.println("2.根据学号查询学员信息"); System.out.println("3.修改学员信息"); System.out.println("4.根据学号删除学员信息"); System.out.println("5.统计学员平均考试成绩"); System.out.println("6.退出系统"); System.out.println("请输入菜单项:"); int num=input.nextInt(); switch(num){ case 1: addStu();break; case 2:checkById();break; case 3:update(); break; case 4:delete(); break; case 5: avg();break; case 6:exit(); break; } } //录入学员信息 public static void addStu(){ String answer=""; do{ answer="y"; Students stu=new Students(); System.out.print("请输入学生的学号: "); String stuid=input.next(); System.out.println("请输入学生的姓名:"); String stuname=input.next(); System.out.println("请输入学生的年龄:"); int age=input.nextInt(); System.out.println("请输入学生的成绩"); int score=input.nextInt(); if(list.isEmpty()){ stu.setId(stuid); stu.setName(stuname); stu.setAge(age); stu.setScore(score); list.add(stu); System.out.println("录入成功!"); manageLogin(); }else if(getById(stuid)==null){ stu.setId(stuid); stu.setName(stuname); stu.setAge(age); stu.setScore(score); list.add(stu); System.out.println("录入成功!"); manageLogin(); }else{ System.out.println("此学生已经存在!"); manageLogin(); } System.out.println("你是否要继续选择操作?y/n"); answer=input.next(); }while(answer.equals("y")); } //根据学号查询学员信息 public static void checkById(){ Students stu=new Students(); System.out.print("请输入您要查询学生的学号:"); String stuid=input.next(); Students s=getById(stuid); if(list.isEmpty()){ System.out.println("该学生不存在"); manageLogin(); }else if(s!=null){ Students ww=getById(stuid); System.out.println("该学员信息为:\n"); System.out.println("学号:"+ww.getAge()); System.out.println("姓名:"+ww.getName()); System.out.println("年龄:"+ww.getAge()); System.out.println("成绩:"+ww.getScore()); manageLogin(); } } //修改学员信息 public static void update(){ System.out.print("请输入您要修改学生的学号:"); int stuid=input.nextInt(); Students s=getById(stuid); //此行中getById方法报错,怎么回事? if(list.isEmpty()){ System.out.println("无学生信息!"); }else if(s!=null){ System.out.println("改后姓名:"); String name=input.next(); System.out.println("改后年龄:"); int age=input.nextInt(); System.out.println("改后成绩:"); int score=input.nextInt(); s.setName(name); s.setAge(age); s.setScore(score); System.out.println("修改成功!"); manageLogin(); }else{ System.out.println("该学生不存在!"); manageLogin(); } } //根据学号删除学员信息 public static void delete() { System.out.println("请输入所要删除的学号:"); String stuid=input.next(); Students s=getById(stuid); if(list.isEmpty()){ System.out.println("尚未存入信息!"); manageLogin(); }else if(s!=null){ list.remove(s); System.out.println("删除成功"); manageLogin(); }else{ System.out.println("该学生不存在!"); manageLogin(); } } //统计学员平均考试成绩 public static void avg(){ System.out.println("平均成绩为:"); int num=list.size(); int sun=0; if(list.isEmpty()){ System.out.println("未录入学生的信息!"); }else{ for(Students s:list){ //此行s:list 什么意思? sun+=s.getScore(); } System.out.println(sun/num); manageLogin(); } } //退出系统 public static void exit(){ System.out.println("你确定要退出系统吗?"+"y/n"); String answer=input.next(); if(answer.equalsIgnoreCase("y")){ System.exit(0); }else{ manageLogin(); } } public static Students getById(String id){ for(Students s:list){ if(s.getId().equals(id)){ return s; } } return null; } }

急急急!!代码是正确的。java界面窗口有表格方法,但窗口没显示,如何修改,解决有重谢。

java界面窗口有表格方法,但窗口没显示,如何调用这个表格方法或是添加到窗口中,使它呈现出来。如图,有窗口,咋么调用print()方法或是还有别的方法让它在窗口中体现出来 非常感谢!!![图片说明](https://img-ask.csdn.net/upload/201611/08/1478602066_663180.png)

求助,jsp里面java的类型转换问题

从dao里面返回的ArrayList转换成自定义的vo时报错,不知道怎么办了(我java没怎么学) 或者可不可以dao直接返回自定义vo login.jsp ``` <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%> <%@ page import="vo.Admin,dao.AdminDao" %> <html> <body> <form action = "login.jsp"> 账号:<input type = "text" name = "adminname"><br> 密码:<input type = "password" name = "password"><br> <input type = "submit" value = "登录"> </form> <% String adminname = request.getParameter("adminname"); String password = request.getParameter("password"); if(adminname!=null&&password!=null){ AdminDao admindao=new AdminDao(); System.out.print("test"); Admin admin=(Admin)admindao.queryAllAdmins(adminname); if(password.equals(admin.getPassword())){ response.sendRedirect("JxglSys/servlets/InitServlet"); } } %> </body> </html> ``` AdminDao.java ``` package dao; import java.sql.*; import java.util.ArrayList; import vo.Admin; public class AdminDao { public ArrayList queryAllAdmins(String adminname) throws Exception{ ArrayList admins= new ArrayList(); try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://localhost:1433;DatabaseName=JXGL"; Connection conn = DriverManager.getConnection(url,"sa","nmybj.19981227"); System.out.print(adminname); String sql = "SELECT ADMINNAME,PASSWORD FROM ADMIN WHERE ADMINNAME = '"+adminname+"'"; Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery(sql); while(rs.next()) { Admin admin = new Admin(); admin.setAdminname(rs.getString("ADMINNAME")); admin.setPassword(rs.getString("PASSWORD")); admins.add(admin); } rs.close(); stat.close(); } catch (SQLException e) { //e.printStackTrace(); System.out.print("Database error"); } return admins; } } ``` Admin.java ``` package vo; public class Admin { private String adminname; private String password; public String getAdminname() { return adminname; } public void setAdminname(String adminname) { this.adminname = adminname; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } ```

Java对象流读取时出错

import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.OutputStream; import java.io.Serializable; import java.net.ServerSocket; import java.net.Socket; public class sever { public static void main(String[] args) throws ClassNotFoundException { Socket socket; InputStream is; ObjectInputStream ois; FileOutputStream fos; File file; Object object; User user=null; try { ServerSocket ss=new ServerSocket(9999); socket=ss.accept();System.out.print("hh"); is=socket.getInputStream(); ois=new ObjectInputStream(is); user=(User)ois.readObject(); 这一行有错误。 file=new File("C:/Users/lenovo/Desktop/gg1/a.mp4"); fos=new FileOutputStream(file); while(true){ fos.write(user.getBytes(), 0,user.getBytes().length); fos.flush(); } } catch (IOException e) { } } } class User implements Serializable{ private static final long serialVersionUID = 1L; private byte[] bytes=new byte[1024]; public byte[] getBytes() { return bytes; } public void setBytes(byte[] bytes) { this.bytes = bytes; } } 这个是服务器端,在从对象流中读取对象的时候报错了(错误的地方上面有标识) 错误提示: java.lang.ClassNotFoundException 请求路过的各位大神解答一下

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

广工操作系统课程设计(文档+代码+可执行文件)

实现作业调度(先来先服务)、进程调度功能(时间片轮转) 实现内存管理功能(连续分配)。 实现文件系统功能(选作) 这些功能要有机地连接起来

Only老K说-爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

apache-jmeter-5.1.1(Requires Java 8+).zip

。Apache JMeter 5.1.1 (Requires Java 8+),需要jdk8以上的版本。

数通HCNP中文理论全套教材.rar

内涵HCNP-IENP中文理论书-内文,

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

DDR5_Draft_Spec_Rev05c.pdf

DDR5 spec

Java面试史上最全的JAVA专业术语面试100问 (前1-50)

前言: 说在前面, 面试题是根据一些朋友去面试提供的,再就是从网上整理了一些。 先更新50道,下一波吧后面的也更出来。 求赞求关注!! 废话也不多说,现在就来看看有哪些面试题 1、面向对象的特点有哪些? 抽象、继承、封装、多态。 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 数组没有length()方法,它有length属性。 String有length()方法。 集合求长度用

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

Python界面版学生管理系统

前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

相关热词 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行 c# 循环给数组插入数据 c# 多线程死锁的例子 c# 钉钉读取员工排班 c# label 不显示 c#裁剪影像 c#工作进程更新ui
立即提问