Использование Shmop
:
Shmop - это простой в использовании набор функций, который позволяет PHP читать, записывать, создавать и удалять сегменты разделяемой памяти Unix.
blockquote >from: http://www.php.net/manual/en/intro.shmop.php
Для создания этого расширение
Общие функции памяти
- shmop_close - Закрыть
- блок разделяемой памяти
- shmop_delete - Удалить блок общей памяти
- shmop_open - создать или открыть блок разделяемой памяти
- shmop_read - прочитать данные из блока разделяемой памяти
- shmop_size - получить размер блока разделяемой памяти
- shmop_write - Запись данных в блок разделяемой памяти
Основное использование
// Create 100 byte shared memory block with system id of 0xff3 $shm_id = shmop_open(0xff3, "c", 0644, 100); if (!$shm_id) { echo "Couldn't create shared memory segment\n"; } // Get shared memory block's size $shm_size = shmop_size($shm_id); echo "SHM Block Size: " . $shm_size . " has been created.\n"; // Lets write a test string into shared memory $shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0); if ($shm_bytes_written != strlen("my shared memory block")) { echo "Couldn't write the entire length of data\n"; } // Now lets read the string back $my_string = shmop_read($shm_id, 0, $shm_size); if (!$my_string) { echo "Couldn't read from shared memory block\n"; } echo "The data inside shared memory was: " . $my_string . "\n"; //Now lets delete the block and close the shared memory segment if (!shmop_delete($shm_id)) { echo "Couldn't mark shared memory block for deletion."; } shmop_close($shm_id);
В вашем коде мало ошибок. Читайте комментарии после каждой строки.
public class Books_A
{
public static void main(String args[])
{
BookData Book1 = new bookData("geometry", "blue", 756);
BookData Book2 = new bookData("algebra", "green", 805);
BookData Book3 = new bookData("algebra", "red", 884);
System.out.println("Title Color Pages");
System.out.println( Book1 ); // prints book 1 info
System.out.println( Book2 ); // prints book 2 info
System.out.println( Book3 ); // prints book 3 info
}
}
class BookData // Class name start with captital
{
String subject; // member names always start with lowercase
String color; // member names always start with lowercase
int pages; // member names always start with lowercase
BookData( String bookSubject, String bookColor, int bookPages)
{
subject= bookSubject ; // in your code assignment was reverse
color=bookColor ; // in your code assignment was reverse
pages=bookPages ; // in your code assignment was reverse
}
//Override toString method on bookData class.
@Override
public String toString() {
return this.subject+"\r"+this.color+"\r"+this.pages;
}
}
Вам нужно написать:
System.out.println(Book1.Subject);
bookSubject
- локальная переменная для этого конструктора, и поэтому она может использоваться только внутри нее. Но поскольку вы сделали Subject
глобальной переменной, вы можете получить к ней доступ из любого места вне класса через имя объекта.